Как связать ibOutlet с subview с пользовательским классом UIView в xboard кода раскадровки

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

enter image description here

Ответ 1

Вот решение:

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

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

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

введите описание изображения здесь

Ответ 2

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

Но должен быть лучший способ

Ответ 3

Чтобы преодолеть стойкость 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 или где он лучше всего подходит.