I have a view and view.UserInteractionenabled = no and a button is added to the view. i need to click the button only . is it possible to enable interaction for button only.
A view cannot receive touches unless userInteractionEnabled
is YES
for the view and all of its superviews up to the UIWindow
object.
You can make a subclass of UIView
to contain the button, and make it ignore touches outside the button by overriding hitTest:withEvent:
. Example:
@interface MyView : UIView
@property (nonatomic, strong) IBOutlet UIButton *button;
@end
@implementation MyView
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
UIView *subview = [super hitTest:point withEvent:event];
return subview == self.button ? subview : nil;
}
@end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With