2015-01-20 2 views
11

Я думаю, что это изображение объясняет все это. У меня есть подкласс UIView, который я ввел в поле класса. Я пытаюсь подключить ibOutlets между раскадрой и реализацией класса. Это не дает мне ошибку, но она не работает. Является ли это еще одной ошибкой xcode, или я ожидаю, что это будет работать таким образом, что это не будет?Как связать ibOutlet от subview к пользовательскому классу UIView в раскадровке xcode

enter image description here

ответ

10

Вот решение:

1) Введите в IBOutlet руками в файле заголовка, пример:

@property (strong, nonatomic) IBOutlet ProgressBarElementView *targetProgressElement; 

2) Перетащите булавку из кода в элемента в документе контурной зоны

enter image description here

+1

Убедитесь, что представление установлено как пользовательский класс, иначе это не сработает. – Aggressor

0

У меня такая же проблема .. Я видел, что если добавить пользовательский класс к просмотру корневого в контроллере представления, он будет работать .. В вашем случае это первоначальный вид, перечисленное в Дно Layout Guide

Но должно быть лучше

0

Чтобы преодолеть XCode упрямство, особенно когда вам нужно подключить (UIControlEvent), чем UIControlEventTouchUpInside, я бы предпочел использовать код непосредственно из пользовательского класса вида:

СВИФТ

button.addTarget(self, action:#selector(ClassName.handleRegister(sender:)), 
          for: .touchDragExit) 

Objective-C

[self.button addTarget:self 
       action: @selector(buttonTouchDragExitAction:) 
     forControlEvents:UIControlEventTouchDragExit]; 

Можно включить такой код в awakeFromNib или viewDidLoad или где он лучше всего подходит.

Смежные вопросы