當父觀點userInteractionEnabled = NO,它的子視圖不會接受,即使他們的userInteractionEnabled屬性設置爲YES觸摸事件設置爲NO。如何獲得觸摸時,父視圖已經userInteractionEnabled iOS中
有什麼辦法仍然可以在子視圖中獲得觸摸事件嗎?
當父觀點userInteractionEnabled = NO,它的子視圖不會接受,即使他們的userInteractionEnabled屬性設置爲YES觸摸事件設置爲NO。如何獲得觸摸時,父視圖已經userInteractionEnabled iOS中
有什麼辦法仍然可以在子視圖中獲得觸摸事件嗎?
爲了得到一個觀點,讓觸摸直通,但給其子視圖處理潤色,讓userInteractionEnabled上以YES,相反,使用此片段:
-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
id hitView = [super hitTest:point withEvent:event];
if (hitView == self) return nil;
else return hitView;
}
來源:http://cocoaheads.tumblr.com/post/2130871776/ignore-touches-to-uiview-subclass-but-not-to-its
grea t ..謝謝! – Antigluk 2012-07-30 00:28:19
設置父視圖的userInteractionEnabled屬性爲NO也含蓄地將其子視圖userInteractionEnabled性能NO爲好。我不知道如何使用您所描述的方法將觸摸事件發送到子視圖,但也許您可以創建一個視圖,該視圖簡單地覆蓋了希望用戶與之交互的視圖,但不是這些視圖的父視圖觀點。
解決方法是將按鈕等的用戶交互禁用爲零而不是禁用整個父視圖的用戶交互
您可以考慮以下解決方案:http://stackoverflow.com/a/35592676/913347 – ishahak 2016-02-24 03:33:53