d'obtenir la taille de nswindow
Est-il de toute façon, je reçois obtenir la taille d'un NSWindow (en pixels) et de l'afficher? Ainsi, lorsque la personne redimensionne la fenêtre, le texte de modifier et d'afficher la nouvelle taille.
Vous devez vous connecter pour publier un commentaire.
Si vous implémentez la méthode
- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize
sur un objet défini en tant que délégué de la fenêtre, il sera appelé à chaque fois que la fenêtre change de taille. À partir de là, vous pouvez mettre à jour le champ de texte que vous utilisez pour l'affichage de la taille.
length
etwidth
points de vente de l'IB? Si ils ne sont pas ensemble, vous êtes messagerienil
, qui ne fait rien.void
. Vous devez renvoyer une valeur. Plus précisément, vous devez retourner à la taille que vous voulez que la fenêtre de redimensionnement pour. En supposant que vous n'avez pas vraiment envie de toute taille spécifique ou à limiter la taille de toute manière, tout juste de retour de la taille qu'il a proposé.NSWindowDelegate
protocole; je sais que vous aurez un avertissement si vous essayez de le définir dans le code sans que, mais je ne sais pas si NSWindow essaie de la faire respecter la conformité, si vous construisez sur 10.6.Ce sujet:
...devrait être ce que vous cherchez. fbrereto la suggestion est que vous devriez utiliser si vous voulez, la taille, y compris le NSWindow de la barre de titre.
frame
, puis envoyer la fenêtre d'uncontentRectForFrameRect:
message pour le convertir.Au lieu de tenter de traiter redimensionne, vous devez assurez-vous que votre point de vue " d'un redimensionnement automatique des masques sont correctement définies. Dans Interface Builder, vous faites ceci sur la Taille de l'inspecteur (⌘3) avec le point de vue choisi.
Si vous avez gît une vue d'ensemble de la hiérarchie sans mettre leur d'un redimensionnement automatique des masques, vous avez un peu d'ennui devant vous, mais il n'est pas difficile (juste pénible), et ne sera pas très long. C'est pourquoi vous devriez faire de jeu de points de vue " d'un redimensionnement automatique des masques que vous les créez.
Une fois la d'un redimensionnement automatique des masques, les points de vue seront redimensionnées automatiquement, à moins que votre interface est très compliqué, ou en tout point de vue peut aller jusqu'à une taille de zéro, vous n'aurez pas besoin d'intervenir.