20 votes

XCode Interface Builder : Changer la classe de l'objet déjà placé

Y a-t-il un moyen de le faire? Je veux non seulement définir Class Identity mais aussi changer la classe conçue (donc les propriétés de l'objet devraient changer).

La raison en est que j'ai placé UIView et beaucoup de sous-vues. Maintenant je veux le changer en UITableViewCell. Peut-être est-il possible de le faire en 'piratant' le fichier xib?

23voto

lillialexis Points 426

Malheureusement, exaspérément, il n'y a pas de moyen de le faire dans InterfaceBuilder (que j'ai trouvé). Changer la classe personnalisée ajoute simplement une classe personnalisée à l'UIView, au lieu de changer l'UIView en la classe que vous voulez qu'elle soit (par exemple, UITableViewCell), en apportant toutes les propriétés que votre vue désirée peut avoir. Vous pouvez voir cela dans le fichier XML du storyboard.

Vous voulez, disons, ceci:

 ... 

et pas ceci:

 ... 

mais Xcode ne vous donne que la dernière option; il met à jour l'attribut customClass de la vue plutôt que de mettre à jour l'élément entier.

Si vous préférez la première option, vous pouvez toujours l'obtenir, mais vous devrez modifier le fichier xml vous-même, en gardant le même id de l'élément. Voici un excellent article de blog expliquant cela en détail : http://codenetwaves.blogspot.com.br/2012/09/change-view-to-scrollview-in-xcode.html

-1voto

Jeff Stone Points 309

Dans Interface Builder, vous ouvrirez le troisième onglet et trouverez Custom Class. Là, vous pourrez changer l'UIView en une UITableViewCell

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X