8
我有一個視圖和view.UserInteractionenabled = no,並且按鈕被添加到視圖。我只需要點擊按鈕。是否可以啓用僅用於按鈕的交互。UserInteraction僅支持子視圖
我有一個視圖和view.UserInteractionenabled = no,並且按鈕被添加到視圖。我只需要點擊按鈕。是否可以啓用僅用於按鈕的交互。UserInteraction僅支持子視圖
視圖無法接收觸摸,除非userInteractionEnabled
爲YES
,視圖及其所有超級視圖爲UIWindow
對象。
您可以使UIView
的子類包含按鈕,並通過覆蓋hitTest:withEvent:
忽略按鈕外的觸摸。例如:
@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
這不會幫助,如果有在上海華,這是對在其下的子視圖按鈕一個按鈕(像上面有的上海華打開任何菜單)比,如果你打一個的子視圖和只檢測他,它仍然會觸發超級視圖中的按鈕。 – Curnelious
太好了,謝謝你的提示爲我節省了很多時間 – KeranMarinov
不錯的一個,它的工作 – atulkhatri