2013-05-18 22 views
6

Szybkie pytanie. Korzystając z IB, mam podgląd w ViewController. W tym podglądzie mam etykietę, którą chciałbym podłączyć do mojej niestandardowej klasy widoku podrzędnego. Jednak IB mi nie pozwala. czego mi brakuje?Nie można podłączyć do podzbioru w IB

Próbowałem również programowo dodać etykietę; wydaje się jednak, że ramka nigdy nie była ustawiona. Mogłem twardo zakodować rozmiar etykiety, ale nie mogłem uzależnić jej od wielkości ramki mojego podglądu, ponieważ ramka i granice były zawsze zerowe rect, nawet po tym, jak widok pojawił się w moim kontroler widoku przy niezerowej rozmiar. Wszelkie pomysły tutaj również będą mile widziane.

+0

Kiedy mówisz "w tym wydziale mam etykietę", jak to się stało? Czy masz osobny plik .xib dla widoku (nazwijmy go MyCustomView), a w MyCustomView.xib masz etykietę? A może masz etykietę "wewnątrz" widoku podrzędnego w OuterViewController.xib? Pytam, ponieważ dodanie jednego z własnych widoków niestandardowych do widoku w IB zazwyczaj nie pokazuje widoków niestandardowego widoku (np. Etykiety). –

Odpowiedz

13

W rzeczywistości masz całkowitą rację. To nie pozwoli ci połączyć się z IB do nagłówka niestandardowego widoku w Xcode 4.6.2

Osobiście chciałbym złożyć radar, ale chciałbym zrobić trochę więcej badań, aby to udowodnić, a ponieważ jest to wzór, który nie chciałbym nigdy tego nie użyję, nie zrobię tego.

szczęście można dostać wokół niego

Upewnij widoku niestandardowego jest poprawnie skonfigurowany w IB

enter image description here

i zakładając, że są ustawione coś takiego

enter image description here

Następnie możesz ręcznie zadeklarować w swoim nagłówku

@interface MyCustomView : UIView 

@property (weak) IBOutlet UILabel *label; 

@end 

i przeciągnij OD kropka, który pojawia się obok posesji TO etykietę.

Albo przeciągnij OD prawym przyciskiem myszy HUD niestandardowego widoku TO etykietę.

Żadna z tych spraw nie zadziała poprzez przeciągnięcie etykiety do widoku.

+1

Ah niesamowite dzięki. Czuję się jak idiota, bo nie próbuję iść w przeciwnym kierunku. Bardzo doceniane. – GLee

+0

Myślę, że zamierzam zgłosić błąd, jak to było możliwe, a ja wypróbowałem go wczoraj wieczorem z projektem OSX i też tam nie działało. Coś dziwnego się dzieje –

0

W pliku nagłówkowym należy zdefiniować etykietę jako IBOutlet, a następnie przeciągnąć z właściciela pliku na etykietę.

IBOutlet * lblSomeLabel; 
+0

Możesz chcieć podać więcej wskazówek dotyczących przypadku, w którym właścicielem pliku jest ViewController, a nie niestandardowym widokiem, który powinien być podłączony do tego gniazda. – Till

-4

Wyłącz AutoLayOut i spróbuj ponownie.

+0

To jest mylący komentarz – grigb

Powiązane problemy