Ich möchte eine Schaltfläche in der Mitte des Bildschirms nach Code verschieben. Ich sah irgendwo nur ein paar Zeilen Code, konnte sie aber nicht finden.iOS SDK: Verschieben der Schaltfläche in die Mitte des Bildschirms durch Code
Antwort
Dies sollte es tun:
yourButton.frame = CGRectMake(self.view.frame.size.width/2 - yourButton.frame.size.width/2, self.view.frame.size.height/2 - yourButton.frame.size.height/2, yourButton.frame.size.width, yourButton.frame.size.height);
Diese Zentren auf den Button in der Superview:
CGRect bounds = button.superview.bounds;
button.center = CGPointMake(CGRectGetMidX(bounds), CGRectGetMidY(bounds));
Ist das nicht äquivalent zu '[button setCenter: superview.center]'? –
Nein, 'center' wird im Koordinatensystem der Superview gemessen, so dass der Mittelpunkt der Schaltfläche in der Mitte der Superview-Ansicht der Superview steht. –
Beide rooster117 und DavidNg Antworten richtig zu sein scheinen. Nur noch eine „Option“, um den Sie hinzufügen, wenn Sie diese animierte tun wollen, sollten Sie tun:
NSTimeInterval seconds = 1.0;
[UIView animateWithDuration:seconds animations:^{
//here you should write any reframing/repositioning code
}];
hi Bruno, was ist, wenn ich möchte, dass eine Schaltfläche mit bestimmten Farben animiert wird, rot und zum Beispiel? – DavidNg
Fügen Sie einfach den Farbwechselcode in den Animationsblock ein. Etwas wie: NSTimeInterval Sekunden = 1.0; [UIView animateWithDuration: Sekunden Animationen:^{ [[myButton setBackgroundColor: [UIColor redColor]]; }]; –
Es gibt einige Möglichkeiten, es zu tun, ohne Code zu schreiben. Wenn Sie versuchen möchten, die Schaltfläche mithilfe der Schnittstelleneinstellungen in die Bildschirmmitte zu platzieren, können Sie view my clip.
bntTimeEtrySave.Frame =new CoreGraphics.CGRect (
this.View.Center.X-((bntTimeEtrySave.Bounds.Size.Width)/2),
bntTimeEtrySave.Frame.Y,bntTimeEtrySave.Bounds.Size.Width,
bntTimeEtrySave.Bounds.Size.Height);
Willkommen bei StackOverflow! Nur-Code-Antworten [werden davon abgeraten] (http://meta.stackexchange.com/a/148274/230241); Bitte editiere deine Antwort, um zumindest einige Erklärungen zu geben, warum das funktioniert. – ravron
ist hier einfacher Ansatz:
yourButton.center = self.view.center;
Das ist die richtige Antwort! Verwenden Sie center.x oder center.y für Details in x oder y, falls erforderlich! –
Wie können Sie diese Unterstützung ändern? :( –
- 1. Mitte in der Mitte des Bildschirms
- 2. RStudio: Code in die Mitte des Editors verschieben
- 3. center h1 in der Mitte des Bildschirms
- 4. Platzierung TabLayout in der Mitte des Bildschirms
- 5. Wie in der Mitte des Bildschirms
- 6. Align svg zu der Mitte des Bildschirms
- 7. Wie wird ActivityIndicator in der Mitte des Bildschirms angezeigt?
- 8. Leere Listview-Layout nicht in der Mitte des Bildschirms angezeigt
- 9. Wie wird Popup in der Mitte des Bildschirms angezeigt?
- 10. bewegt den Cursor in die Mitte des Bildschirms in Emacs
- 11. Einstellung Pop-up div in der Mitte des Bildschirms
- 12. Overlay-Box in der Mitte des Bildschirms erscheint
- 13. Wie bekomme ich die Mitte des Bildschirms in cocos2d?
- 14. Modale Ebene in die Mitte des betrachteten Bildschirms setzen
- 15. Wie wird immer String in der Mitte des Bildschirms gedruckt?
- 16. -Center Video in der Mitte des Bildschirms - Videoview Android
- 17. Three.js Position Gerendert STL-Datei in der Mitte des Bildschirms
- 18. Bild in der Mitte des Bildschirms einfügen Kivy Python
- 19. Android: dreht Leinwand um die Mitte des Bildschirms
- 20. Wie positioniere ich div in der Mitte des Bildschirms?
- 21. Auf Klick Bild in der Mitte des Bildschirms öffnen
- 22. zeigt Bild in der Mitte des Bildschirms css jquery
- 23. iOS Screenshot Teil des Bildschirms
- 24. Das Panel wird nicht auf die Mitte des Bildschirms ausgerichtet
- 25. Bootstrap-Navigationsleiste an der unteren Mitte des Bildschirms ausrichten - Zielseite
- 26. Aktivierung des Bildschirms durch Intent
- 27. wie die brighness des Bildschirms auf die Schaltfläche klicken
- 28. Wenn die Größe des Bildschirms geändert wird, wird die Schaltfläche
- 29. Wie wird die Kartenmarkierung immer in der Mitte des Bildschirms gehalten? Android
- 30. bootstrap und bootbox: set Dialogfeld Mitte des Bildschirms
dank perfekt funktionieren zu – DavidNg
dies scheint für die Portrait- gut zu funktionieren, aber nicht für Landschaft, bin ich etwas falsch zu machen? – Rob85