Wie kann ich eine UIView horizontal zentrieren?

9

Wie kann ich UIView horizontal zentriert und 30px vom oberen Rand des View-Controllers mit CGRectMake machen?

%Vor%     
Mohammad Nurdin 19.02.2015, 19:17
quelle

8 Antworten

15

Versuchen Sie:

%Vor%     
nanothread59 19.02.2015, 19:34
quelle
17

Schnell 3;

%Vor%     
user2986119 06.05.2017 16:45
quelle
11

Sie können eine Ansicht nicht in einem Ansichtscontroller zentrieren, da ein Ansichtscontroller keine Ansicht ist und kein Koordinatensystem hat.

Sie können eine Ansicht relativ zu einer anderen Ansicht zentrieren. Vermutlich möchten Sie draggableView relativ zur Sicht des View-Controllers zentrieren. Angenommen, self ist der View-Controller und draggableView ist eine direkte Unteransicht der View-Controller-Ansicht:

%Vor%     
rob mayoff 19.02.2015 19:35
quelle
3

Obwohl Rob Mayoff korrekt ist, könnte es sich lohnen, den Frame in viewWillLayoutSubviews zu zentrieren, der bei der Gerätedrehung aufgerufen wird. Sie können auch die Eigenschaften center.x und center.y der Mitte verwenden, um auf der Achse auszurichten. Keine Notwendigkeit, in diesem Fall sich selbst zu nennen.

%Vor%     
ericgu 20.02.2015 14:11
quelle
1

Ich verwende die Bibliothek MMMaterialDesignSpinner und erstelle einen benutzerdefinierten Aktivitätsindikator in der Mitte der Ansicht. Es funktioniert korrekt, Sie können Ihren benutzerdefinierten Ansichtsnamen wie "DraggableView" ändern. Ich hoffe, es ist für dich nutzbar. Dieser Code wird der Funktion viewDidLoad in swift 3 hinzugefügt.

%Vor%     
pansora abhay 09.08.2017 12:46
quelle
0

Dies ist eine nette kleine Erweiterung zum Zentrieren einer Ansicht oder eines Objekts:

%Vor%

Und dann benutze es so:

%Vor%     
Ryan Cocuzzo 29.11.2016 02:30
quelle
0

activityindicater ist die Ansicht, die Sie in die Mitte einfügen möchten

self.activityindicater.center = self.baseView.center

    
sagar gawande 16.03.2017 11:43
quelle
0

Schnell 3:

%Vor%     
dimpiax 09.08.2017 13:13
quelle

Tags und Links