2012-04-05 63 views
2

請幫我關閉用戶交互。 我有一個自定義視圖,它在頂層的視圖層次結構中出現幾秒鐘。視圖下有幾個按鈕。問題是,當用戶點擊視圖時按鈕捕捉觸摸事件。我已經設置myCustomView.userInteractionEnabled = NO;沒有任何反應。按鈕通過查看來捕獲事件。如何創建一個不允許攔截觸摸的視圖?通過查看問題進行用戶交互

回答

0

如果myCustomView位於視圖層次結構的頂層,我想你會試圖實現類似覆蓋視圖的東西,它覆蓋其他視圖半透明。在這種情況下,在此視圖上設置userInteractionEnabled = NO將導致觸摸事件轉發到下面的視圖。

正確的方法是在您的自定義視圖上設置userInteractionEnabled = YES,然後創建一個透明按鈕將觸摸重新路由到關閉IBAction或忽略它。

0

,你可以在按鈕的共同上海華只是禁用用戶交互:

someButton.superview.userInteractionEnabled = NO; 

另一種方法來禁用的用戶界面,而一些覆蓋UI在頂部是把覆蓋在自己的窗口,而不是在頂部現有的觀點。

0

使用:

[[UIApplication sharedApplication] beginIgnoringInteractionEvents]

無視用戶的事件。而幾秒鐘,你的看法自敗後,您可以使用:

[[UIApplication sharedApplication] endIgnoringInteractionEvents]

這種方式可以解決你的問題。