Question

Je semble aimer concevoir de nouveaux UIViews et UIControls qui implémentent leur propre méthode -drawRect:. Cela fonctionne bien pour moi, surtout quand il est composé avec <=> dans Interface Builder .

Mais les composer dans Interface Builder est ennuyeux car ils apparaissent simplement sous la forme de rectangles ordinaires ennuyeux.

Ce serait bien si les vues se présentaient comme les commandes intégrées.

Existe-t-il un moyen de structurer mon projet afin qu'Interface Builder rende mes vues personnalisées?

Était-ce utile?

La solution

Pour ce faire, vous devez créer un plug-in pour Interface Builder qui utilise votre classe personnalisée. Une fois que vous avez créé et installé votre plug-in, vous serez en mesure de faire glisser des occurrences de votre classe (votre vue) vers une autre fenêtre / vue / comme vous le feriez pour tout autre contrôle. Pour vous familiariser avec la création de plug-in IB, consultez la page Guide de programmation du plug-in Interface Builder . Je vous recommande également de consulter le livre d'Aaron Hillegass, Programmation Cocoa pour Mac OS X . En plus d'être très bien écrit et facile à comprendre, il contient un chapitre sur la création de vos propres contrôles Palette IB.

Autres conseils

Ceci est réalisable en marquant votre sous-classe UIView avec @IBDesignable. Une fois cette opération effectuée, vos vues personnalisées s'affichent dans Interface Builder. Vous pouvez même ajouter des paramètres qui peuvent être configurés en les marquant comme @IBInspectable. Voici un exemple rapide:

@IBDesignable class customView: UIView {

    @IBInspectable var count: Int = 0

}

Un article sur NSHipster est décrit plus en détail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top