2011-10-17 7 views
7

Modification de ma plume pour une application Cocoa basée sur des documents, je vois que quand j'ai une fenêtre ou d'un panneau sélectionné, Xcode me permet de définir sa « position initiale »:Que fait la "position initiale" dans l'éditeur de nib de Xcode?

Screenshot of a window in the nib, selected, and the “Initial position” pane in the Size Inspector.

Il est distinct de la fenêtre de Cadre, qui est au-dessus, alors qu'est-ce que c'est? Qu'est-ce que la "position initiale", et que signifient les deux menus contextuels et leurs valeurs possibles?

Lorsque j'exécute mon application et que mon document crée le NSWindowController pour cette puce (la seconde de deux), la fenêtre apparaît en cascade à partir de la fenêtre de document principale, plutôt qu'à la position initiale. Est-ce parce que mon application est basée sur un document (c'est-à-dire que la «position initiale» sera utilisée par une fenêtre qui n'appartient pas à un document) ou y a-t-il une autre raison?

Répondre

5

La position initiale est la position dans l'écran où la fenêtre apparaîtra, par défaut. Et les popups contrôlent comment cette position est modifiée si la taille de l'écran de l'utilisateur est différente de la vôtre. Imaginez que l'écran est un NSView géant et que votre fenêtre est positionnée à l'intérieur. La position initiale est l'origine du cadre, et les popups sont votre masque autoresizing.

+0

Ma fenêtre apparaît dans le coin supérieur gauche, cependant. –

+0

C'est probablement parce que vous êtes basé sur des documents. Les fenêtres de document ont tendance à apparaître en cascade au lieu d'apparaître dans une position fixe. La valeur "position initiale" est plus utile pour les fenêtres dont votre application ne dispose que d'une seule, telles que la zone À propos de ou le panneau Préférences. –

+0

Avez-vous d'autres informations à quel moment AppKit applique ces valeurs? Je demande parce que j'essaie de comprendre ce qui serait un bon endroit pour définir un poste initial par programmation au lieu d'utiliser IB. – Klaas

0

Je viens de changer la position initiale à 0, 0 il a résolu le problème tout de suite. On dirait qu'il veut que ça commence dans le coin inférieur gauche. J'ai joué avec d'autres paramètres, en ajustant les propriétés de largeur et de hauteur.

http://prntscr.com/8unin6

Questions connexes