2009-12-06 5 views
6

Kurz und gut: Wie kann ich dem Interface Builder mitteilen, ein Fenster auf dem Bildschirm eines Benutzers zu zentrieren? Ich habe das Positionierungswerkzeug auf dem Inspektor gesehen, aber Augäpfel landen nicht immer so direkt, wie ich es möchte. Ist das etwas, wo ich zu Xcode wechseln und etwas zu den Methoden init oder awakeFromNib hinzufügen sollte?Zentrieren von Fenstern auf dem Bildschirm

+1

Holen Sie sich die Bildschirmgröße, teilen Sie es durch zwei, teilen Sie Ihre Fenstergröße von zwei und subtrahieren Sie die Hälfte der Bildschirmgröße mit der Hälfte Ihrer Fenstergröße. Mit Größe meine ich: mach es für X und tue es für Y separat. –

Antwort

14

könnten Sie [window center] verwenden, wie von wahkiz beantwortet, aber das ist vielleicht nicht genau, was Sie wollen. Die documentation besagt, dass dies das Fenster horizontal, aber etwas oberhalb der vertikalen Mitte zentriert. Auf diese Weise hat das Fenster eine visuelle Prominenz.

Wenn Sie Ihr Fenster im exakten Center platzieren möchten, dann funktioniert die manuelle Positionierung (wie von Koning Baard XIV kommentiert) für Sie.

4

Fügen Sie diesen Code in Ihrem AppDelegate in applicationfinishedlaunching unten ein.

[window center]; 
+0

wie man das Zentrum des Elternteils zeigt? –

7

Verwenden Sie [window center]; für die Mitte des Fensters, um den Bildschirm zentriert werden. Auch, vorausgesetzt, Sie sind in 10.5 +, gibt es eine Mitte Bildschirm Schaltfläche in InterfaceBuilder