2012-08-15 49 views
1

禁用用戶交互雖然我的應用程序運行一個簡單的動畫,我不希望用戶能夠點擊任何地方。在我的視圖控制器我可以使用用的UIBarButtonItem

self.view.userInteractionEnabled = NO; 

阻止大多數的互動,但它並不妨礙在工具欄/導航欄的按鈕從觸發事件。

我不能只是禁用按鈕,因爲這有一個分散注意力的視覺衝擊力(按鈕變灰)。

如何可能我簡要暫停與所有控件的互動?

回答

12

您的UIApplication實例使用-beginIgnoringInteractionEvents-endIgnoringInteractionEvents。這正是像UINavigationController這樣的類在將動畫推送到新的視圖控制器時執行的操作。要獲得您的特定實例UIApplication,請使用UIApplication類中的+sharedApplication方法。考慮這個例子。

[[UIApplication sharedApplication] beginIgnoringInteractionEvents]; 
[[UIApplication sharedApplication] endIgnoringInteractionEvents];