2013-07-09 74 views
0

我在屏幕上添加了UIView/UIWindow。讓我們觸及UIView或UIWindow

UIWindow *statusBarWindow = [[UIWindow alloc] initWithFrame:[UIApplication sharedApplication].statusBarFrame]; 
statusBarWindow.windowLevel = UIWindowLevelStatusBar + 1; 
statusBarWindow.userInteractionEnabled = NO; 
[statusBarWindow makeKeyAndVisible]; 

但是,這些意見不應觸及,觸及它應觸發下面這些視圖的觸摸。現在,當我添加這個視圖時沒有發生什麼事情,觸摸不通過。

如何讓UIView/UIWindow不處理觸摸事件?我試過.userInteractionEnabled = NO但是沒有奏效。謝謝!

+2

是否將第二個UIWindow添加到應用程序中?如果是這樣,你不應該「除非應用程序可以在外部設備屏幕上顯示內容,否則應用程序只有一個窗口。」 (http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWindow_Class/UIWindowClassReference/UIWindowClassReference.html) –

回答

1

一種方法是覆蓋-hitTest:withEvent:以返回NO,因爲您不想響應觸摸。

可能最好使用不是窗口的視圖,以便超視圖的hitTest:withEvent:方法將繼續搜索視圖層次結構並查找該位置的下一個視圖。 (Windows沒有超級視圖,但我不確定活動管理器是否會檢查其他窗口是否出現同一事件。)