2012-08-08 13 views
6

Vengo dal mondo di C# e Winforms in cui posso creare un UserControl personalizzato e trascinarlo su un modulo come se fosse un controllo comune. C'è un modo per farlo in Xcode e Interface Builder?Trascina la visualizzazione personalizzata sulla finestra in Interface Builder?

Ho visto solo come impostare la vista in fase di esecuzione, ma mi piacerebbe vederlo sulla mia finestra in fase di progettazione. Ad esempio, mi aspetto che la mia vista personalizzata sia elencata nei controlli disponibili.

Grazie!

Simon

+0

C'è una vista personalizzata in IB, basta trascinarla. – rdelmar

+0

@rdelmar - come associo la vista personalizzata con la mia vista attuale? In questo momento vedo solo una casella che dice "Vista personalizzata". –

+0

Avere la vista personalizzata selezionata e quindi nella finestra di ispezione della identità, si imposta la classe sulla sottoclasse NSView. – rdelmar

risposta

6

Interface Builder non aggiunge (o consentire l'aggiunta di, ora che Plugin IB sono abbandonate) oggetti personalizzati alla libreria di oggetti. Puoi trascinare solo oggetti esistenti/preimpostati, ma tu puoi averli istanziati come istanze di una sottoclasse fintanto che vengono istanziati nello stesso modo.

E.g. trascinare in una visualizzazione personalizzata e impostare la classe aMyCustomViewClass, o trascinare in una vista di scorrimento e impostare la classe aMyCustomScrollView, o trascinate un oggetto e impostare la classe diCustomObject, eccetera.

E questo è il modo preferito di utilizzare i controlli personalizzati in Interface Builder.

enter image description here

1

pratica solo strappando il commento di rdelmar ... ma ho pensato un quadro sarebbe utile enter image description here

Trascinare una vista normale in IB, quindi selezionarlo e fare questo.

1

Ogni finestra creata in IB ha una vista come primo sottocomponente. Non è necessario creare una vista personalizzata separata per questo. Se sei davvero sottoclasse basta cambiare il nome della classe nell'ispettore.

0

In aggiunta a quanto è stato detto in questa discussione su come aggiungere il nome del vostro file di visualizzazione personalizzata per XIB del controller della vista, si avrà bisogno di esclusioneinitWithCoder nella visualizzazione personalizzata.

Problemi correlati