Like I said, I add a UIButton in Interface Builder, I want add a UILabel、UIImageView as the button\'s subviews, but I can\'t add any object on it in IB. IS anybody know how to d
instead of UIButton, add the UILabel and UIImageView to UIView and then add a tap action to it.
EDIT 1:
it's easy to change make a highlighted color effect, use the following code:
- (void) onViewTap:(id)sender
{
[UIView animateWithDuration:0.1
delay:0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
_view.backgroundColor = [UIColor blueColor];
}
completion:^(BOOL finished){
_view.backgroundColor = [UIColor whiteColor];
}];
//write tap actions below
}
- (void)viewDidLoad
{
_view.userInteractionEnabled = YES;
UITapGestureRecognizer* tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onViewTap:)];
[_view addGestureRecognizer:tap];
}
I normally achieve this by
Your UIView now works exactly like a UIButton
Make your UIButton custom button, then add the UILabel on it,then the you will benefit from the UIButton properties and actions,hope this help you
I have done this before by adding a UIView (instead of the UIButton) then add the UIButton and UILabel to the UIView. The tap from the UIButton still works and you have a label too. You can also add anything else like this.