回答
謝謝,但我只是找到了辦法:
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
for (UIWindow *win in [[UIApplication sharedApplication] windows]) {
if (win.tag != self.tag) {
return [win hitTest:point withEvent:event];
}
}
return nil;
}
你應該能夠像任何UIView一樣禁用它。
UIWindow *secondWindow = [[UIWindow alloc] initWithFrame:<#frame#>];
[secondWindow setUserInteractionEnabled:NO];
您一次只能在一個UIWindow
上接受觸摸事件。接受事件的UIWindow
稱爲keyWindow
。
[behindWindow makeKeyAndVisible];
你的前景UIWindow
將仍然可見,但你的behindWindow
將接收事件。
但是隻有關鍵窗口可以接收用戶交互,對吧?什麼,如果我在兩個需要交互的窗口上都有UI元素? – jboi 2016-09-06 17:39:26
您一次只能在一個窗口上接受觸摸事件。總是有一個關鍵窗口:這是接受觸摸事件的唯一窗口。通過使用此答案中顯示的方法,您告訴系統使用不同的密鑰窗口。 – 2016-09-06 18:12:33
前臺窗口不斷收到事件 – user2387149 2016-10-07 18:44:37
- 1. 的Javascript交叉窗口交互
- 2. 窗體彈出窗口和交互
- 3. 禁用NSWindow交互
- 4. 禁用窗口
- 5. 禁用窗口
- 6. Microsoft Visual Studio 2015交互式窗口
- 7. C#交互式窗口缺失方法
- 8. F#交互式窗口問題
- 9. 禁用Spannable中的交互
- 10. 在OpenLayers中禁用交互
- 11. 禁用父窗口
- 12. 在iOS 7上的UIViewController上禁用子視圖用戶交互
- 13. iOS:順序交互
- 14. iOS:交互式UIImageView
- 15. 禁用/重新啓用交互性
- 16. Android contentView禁用用戶交互?
- 17. 禁用UICollectionView單元格用戶交互
- 18. 禁用用戶交互幾秒鐘android
- 19. WPF禁用窗口移動
- 20. 禁用全窗口拖動
- 21. 在窗口上禁用websockets
- 22. 在後臺禁用窗口
- 23. 禁用窗口菜單
- 24. 如何禁用wpf窗口?
- 25. 使用「Visual Studio代碼」與Powershell的交互式Powershell窗口ISE
- 26. 添加引用通過F#的交互窗口
- 27. C#交互式窗口不會引用我的代碼
- 28. 使用多個交互式彈出窗口的影響
- 29. 如何在交互式窗口中使用f#函數?
- 30. 使用不同窗口與兩個UI線程交互
這將意味着,既不上也不窗口的窗口後面將收到任何用戶交互事件,對吧? – jboi 2016-09-06 17:38:18
我不這麼認爲。如果禁用用戶交互,它不會吃掉觸摸,而是忽略它。所以你的觸摸應該扔到它下面的窗口。 – 2016-09-06 18:04:52