Как связать ibOutlet из subview в пользовательский класс UIView в раскадровке xcode
Я думаю, что это изображение объясняет все. У меня есть подкласс UIView, который я ввел в поле class. Я пытаюсь подключить ibOutlets между раскадровкой и реализацией класса. Это не дает мне ошибки, но и не работает. Это еще одна ошибка xcode, или я ожидаю, что это будет работать так, как это не будет?
3 ответов
вот решение:
1) введите IBOutlet руками в заголовочном файле пример:
@property (strong, nonatomic) IBOutlet ProgressBarElementView *targetProgressElement;
2) перетащите pin код до элемент в зоне контура документа
У меня такая же проблема.. Я видел, что если вы добавите пользовательский класс в корневое представление в контроллере представления, он будет работать.. В вашем случае это начальный вид, указанный в нижней части руководства по компоновке
но должен быть лучший способ
чтобы преодолеть упрямство XCode, особенно когда вам нужно подключить различные перечисления из UIControlEvent
чем UIControlEventTouchUpInside
, Я бы предпочел использовать код непосредственно из пользовательского класса вид:
Свифт
button.addTarget(self, action:#selector(ClassName.handleRegister(sender:)),
for: .touchDragExit)
С
[self.button addTarget:self
action: @selector(buttonTouchDragExitAction:)
forControlEvents:UIControlEventTouchDragExit];
можно включить такой код в awakeFromNib
или viewDidLoad
или где это лучше всего подходит.