I think this image explains it all. I have a subclass of UIView that I've entered into the class field. I'm trying to connect ibOutlets between the storyboard and class implementation. It's not giving me an error, but it's not working either. Is this another xcode bug, or am I expecting this to work in a way that it won't?
4 Answers
Here is a solution:
1) Type an IBOutlet by hands in your header file, example:
@property (strong, nonatomic) IBOutlet ProgressBarElementView *targetProgressElement;
2) Drag the pin from the code to the element in document outline zone

- 385
- 4
- 11
-
1Make sure the view has been set as the custom class otherwise this won't work. – Aggressor Feb 23 '17 at 14:44
I have the same problem.. I saw that if you add the custom class to the root view in the view controller, it will work.. In your case this is the initial View, listed under Bottom Layout Guide
But there must be a better way

- 1,125
- 1
- 9
- 14
To overcome XCode stubborness, especially when you need to hook up different enums from UIControlEvent
than UIControlEventTouchUpInside
, I'd rather use code directly from within the custom view class:
SWIFT
button.addTarget(self, action:#selector(ClassName.handleRegister(sender:)),
for: .touchDragExit)
OBJECTIVE-C
[self.button addTarget:self
action: @selector(buttonTouchDragExitAction:)
forControlEvents:UIControlEventTouchDragExit];
One might include such code in awakeFromNib
or viewDidLoad
or where it best suits.

- 1,023
- 10
- 21
write the outlet inside your custom UIView
@IBOutlet weak var imageView: UIImageView!
then drag it into the storyboard on the view

- 9,404
- 1
- 52
- 40