2010-03-30 13 views
0

Je veux dessiner 15 images en drawRect: mais le plus grand que j'ai pu trouver était NSDrawNinePartImage() Je veux 4 coins, remplissage haut/bas, et 3 rangées entre eux (deux remplissages latéraux et un remplissage au centre)Carrelage plus de 9 images avec Cocoa

Ce qui est recommandé ici? NinePart + 2 * ThreePart? Ou autre chose?

+0

Je pense que vous devriez ajouter un peu plus en détail à cette question. Il est difficile de savoir comment y répondre sans savoir ce que vous essayez de dessiner. – Alex

+0

Désolé de ne pas ajouter de détails. Je les ai ajoutés maintenant. –

Répondre

1

NSDrawNinePartImage est de dessiner une seule chose qui est divisée en neuf sections alignées comme un conseil tic-tac-toe/morpion-et-traverse.

La principale utilisation de c'est un élément d'interface utilisateur-rectangle arrondi, tel qu'un bouton. Vous auriez quatre coins de taille fixe, quatre côtés extensibles uniaxialement, et un centre biaxialement extensible.

Cela ne correspond pas à ce que vous décrivez. Trois colonnes centrales?

Si les deux colonnes supplémentaires doivent être fixés dans la dimension horizontale, puis mettre les images de chaque extrémité ensemble en une seule image par coin et par côté. Ensuite, utilisez NSDrawNinePartImage comme d'habitude. Si les deux colonnes supplémentaires font partie de la colonne centrale et doivent donc être étirables horizontalement, je suggère d'utiliser NSDrawThreePartImage dans une sous-classe NSCustomImageRep et d'utiliser une instance de cette sous-classe pour chacune des trois images de la partie centrale de la colonne . Ensuite, utilisez NSDrawNinePartImage comme d'habitude.

(substitution « lignes » pour « colonnes » et « verticalement » pour « horizontalement » dans les trois paragraphes précédents si vous voulez.)

+0

Merci. Je vais jeter un oeil à ce que NSCustomImageRep me donne. –

+0

Ça ne vous donne rien. C'est exactement ce que ça dit: une image * custom *. Vous le sous-classez et ensuite vous l'implémentez. –