請幫我關閉用戶交互。 我有一個自定義視圖,它在頂層的視圖層次結構中出現幾秒鐘。視圖下有幾個按鈕。問題是,當用戶點擊視圖時按鈕捕捉觸摸事件。我已經設置myCustomView.userInteractionEnabled = NO;沒有任何反應。按鈕通過查看來捕獲事件。如何創建一個不允許攔截觸摸的視圖?通過查看問題進行用戶交互
2
A
回答
0
如果myCustomView
位於視圖層次結構的頂層,我想你會試圖實現類似覆蓋視圖的東西,它覆蓋其他視圖半透明。在這種情況下,在此視圖上設置userInteractionEnabled = NO
將導致觸摸事件轉發到下面的視圖。
正確的方法是在您的自定義視圖上設置userInteractionEnabled = YES
,然後創建一個透明按鈕將觸摸重新路由到關閉IBAction或忽略它。
0
,你可以在按鈕的共同上海華只是禁用用戶交互:
someButton.superview.userInteractionEnabled = NO;
另一種方法來禁用的用戶界面,而一些覆蓋UI在頂部是把覆蓋在自己的窗口,而不是在頂部現有的觀點。
0
使用:
[[UIApplication sharedApplication] beginIgnoringInteractionEvents]
無視用戶的事件。而幾秒鐘,你的看法自敗後,您可以使用:
[[UIApplication sharedApplication] endIgnoringInteractionEvents]
這種方式可以解決你的問題。