2010-02-16 8 views
0

Je crée une application, dont une partie ressemble à ceci:boîtes et redimensionnement automatique de positionnement à Cocoa

boo http://img188.imageshack.us/img188/7808/schermafbeelding2010021y.png

Je tous les traînaient à une fenêtre IB, mais le problème est que le NSImageView , Boutons d'action (Suggérer, Envoyer, Poke etc ...), Information NSBox, et Amis NSTabView peuvent tous varier en hauteur. Ils doivent toujours être placés l'un en dessous de l'autre, avec une marge de 8px. Juste comme sur Facebook. J'ai pensé à un NSSplitView très modifié, mais peut-être y a-t-il des moyens plus simples. Quelqu'un peut m'aider? Editer: J'ai placé les boutons d'action dans une vue personnalisée avec la classe NSView.

Merci

+0

L'image ne devrait pas toujours être carrée? Et je ne vois pas pourquoi les boutons devraient être redimensionnables, sauf horizontalement. Ces deux contraintes évitent aux utilisateurs d'avoir la possibilité de redimensionner ces vues, ce qui vous permet d'utiliser une vue éclatée normale, et non une vue éclatée personnalisée, pour la vue en boîte et en onglet. –

+0

Les boutons ne sont pas redimensionnables, mais il peut y en avoir plus ou moins 3, par exemple, le bouton 'Suggérer des amis pour John' n'est pas disponible si vous êtes connecté en tant que John. –

Répondre

0

Vous devrez redimensionner manuellement les vues vous-même. Cocoa ne fournit pas de LayoutManagers Java. Cependant, je ne pense pas que ce serait trop difficile de recréer un ...

+0

Eh bien, ils redimensionnent automatiquement en fonction de leur contenu. Le seul problème est le positionnement. –

+0

@Koning c'est ce que je voulais dire (désolé de ne pas être clair). Vous devrez modifier manuellement l'origine de chaque vue via la méthode 'setFrame:' ​​(qui vous permettrait également de manipuler la hauteur/largeur en même temps). –