2009-01-31 14 views
9

Desidero creare un controllo personalizzato da riutilizzare nel mio progetto composto da due campi UIText collegati tra loro + un'etichetta.Come creare un controllo personalizzato in Xcode per l'SDK iPhone?

Si sta cominciando a diventare ripetitivo in tutta la mia app e gli odori della duplicazione del codice;)

Tuttavia, mi chiedo qual è il miglior aproach qui.

È meglio fare tutto per codice in un controller o è possibile fare una cosa visiva come quelli incorporati in Xcode?

risposta

7

È possibile creare un plug-in di Interface Builder per questo. È abbastanza semplice. Per iniziare, leggi lo Interface Builder Plug-In Programming Guide. Ha anche un rapido tutorial passo dopo passo per iniziare. Apple consiglia di creare un plug-in per IB solo per il tuo caso ...

+3

Il collegamento è cambiato a questo: http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/IBPlugInGuide/Introduction/Introduction.html – afarnham

+1

Da quel link: "Importante: Supporti Interface Builder la creazione di plug-in per le viste, i controlli e gli oggetti basati su Coco OS X. Non è possibile creare plug-in per gli oggetti iOS Cocoa Touch o Mac OS X basati su carbone. " Quindi, no, non funzionerà per i progetti iOS/iPhone. – Gorm

+1

Anche il collegamento aggiornato è cambiato: sono riuscito a trovare [here} (http://www.filibeto.org/unix/macos/lib/dev/documentation/DeveloperTools/Conceptual/IBPlugInGuide/IBPlugInGuide.pdf} – Saran

1

Questo va bene, tranne che è per l'iPhone. L'iPhone presenta un ambiente più difficile per creare il plug-in per il generatore di interfacce. È dovrebbe essere possibile ma devo ancora vedere un progetto Xcode che fa questo. Sono tutti limitati alla creazione di versioni desktop "AppKit", non versioni iPhone "UIKit" dei plugin per IB.

6

Non credo sia possibile. Ho esaminato brevemente la guida alla programmazione dei plug-in IB e apparentemente i plug-in del builder dell'interfaccia sono implementati tramite Custom Cocoa Frameworks. Cioè, il tuo plugin è definito in un framework che è caricato in Interface Builder. IB guarda nei quadri dei progetti attuali per trovare i componenti personalizzati definiti e caricherà i plugin di conseguenza. Non è possibile utilizzare framework personalizzati o di terze parti sull'iPhone, quindi non vedo come IB possa stabilire una connessione qui. Se qualcuno ha maggiori informazioni mi piacerebbe vedere questa discussione continuata.

Problemi correlati