2009-11-09 11 views
6

To nie powinno być takie mylące. Mam niestandardowy UIView z grupą kontrolek na nim. UILabele, guziki itp. Stworzyłem tę Stalówkę przy użyciu Konstruktora Interfejsu. Chcę móc umieścić ten niestandardowy interfejs uiview na innym UIView przy użyciu kreatora interfejsu.Niestandardowe UIView zbudowany z Interface Builder dostępne/pozycjonowane przez Interface Builder

Jak mogę powiązać moją klasę niestandardową UIView ze stalówką? initWithCoder zostanie wywołany, ale chcę, aby ta klasa została załadowana ze stalówki.

Dzięki

+0

Czy znalazłeś akceptowalną odpowiedź? Proszę oznaczyć to, dzięki. – JoePasq

+0

@JoePasq czy widzisz JAKIEKOLWIEK poprawne odpowiedzi tutaj? –

+0

Właściwie to nigdy nie pracowałem, niestety – Nader

Odpowiedz

3

Aby to działało, musisz utworzyć wtyczkę dla Konstruktora interfejsów, która używa niestandardowej klasy kontrolnej. Po utworzeniu i zainstalowaniu wtyczki można dodawać, przeciągając i upuszczając, instancje widoku do innego okna lub widoku w programie Interface Builder. Aby dowiedzieć się więcej o tworzeniu wtyczek IB, zobacz artykuł Interface Builder Plug-In Programming Guide oraz rozdział dotyczący tworzenia własnych kontrolek palety IB z książki Aarona Hillegassa: Cocoa Programming for Mac OS X.

Here to link do oryginalnego autora zaakceptowanej odpowiedzi na a similar question.

+3

Okazuje się, że nie jest to obsługiwane od XCode 4.0+ –

0

Można wstawić UIViewController obiektu za pomocą interfejsu Builder, a następnie ustawić "name stalówki" własność UIViewController „s. Nie wiem, czy to zakłóca model, ale myślę, że to jedyny sposób, aby zrobić to, co próbujesz zrobić.

+0

Cześć Kenny, dzięki za szybką odpowiedź. Właśnie tego próbowałem. Dodałem UIViewController do mojego głównego widoku, ustawię jego nazwę na stalówkę widoku niestandardowego widoku podrzędnego i połączę właściwość widoku uiviewcontroller z niestandardowym widokiem w programie budującym interfejs. Ta sama rzecz. Po prostu się nie pokazuje. initWithCoder jest wywoływany w widoku niestandardowym, ale nic nie wyświetla się. – Nader

0

W IB wywołaj narzędzie Identity Inspector (Command-4), a następnie wybierz własny widok i w wyskakującym okienku wybierz nazwę niestandardowej klasy zamiast ogólnego UIView. Możesz również podłączyć go do ivar. W narzędziu ViewController zadeklaruj instancję klasy niestandardowej z przed nią IBOutlet. Następnie wróć i wywołaj Inspektora Połączeń i podłącz swój widok do ivar, przeciągając kliknięcie z punktu referencyjnego widoku niestandardowego do Właściciela pliku (który powinien być instancją twojego ViewController) i wybierając nazwę ivar.

Po załadowaniu NIB, należy utworzyć obiekt tego typu i połączyć go z tą zmienną.

Powiązane problemy