這種情況是系統彈出窗口(「AppName想要使用您的當前位置」)正在替換應用程序彈出窗口(應用程序中的自定義啓動消息)。應用程序彈出窗口在啓動時瞬間可見,但隨即出現系統彈出窗口。iOS彈出窗口衝突/衝突
問題是,當系統彈出窗口被取消時,自定義彈出窗口不再可見,但許多UIViews(例如按鈕)顯示爲灰色,就好像仍然存在彈出窗口。
(如果用戶隨後導致另一個酥料餅被提出,然後失蹤popovers按順序呈現的是酥料餅被駁回後,再UIView的顏色恢復正常。)
我如何避免這種情況問題?
這種情況是系統彈出窗口(「AppName想要使用您的當前位置」)正在替換應用程序彈出窗口(應用程序中的自定義啓動消息)。應用程序彈出窗口在啓動時瞬間可見,但隨即出現系統彈出窗口。iOS彈出窗口衝突/衝突
問題是,當系統彈出窗口被取消時,自定義彈出窗口不再可見,但許多UIViews(例如按鈕)顯示爲灰色,就好像仍然存在彈出窗口。
(如果用戶隨後導致另一個酥料餅被提出,然後失蹤popovers按順序呈現的是酥料餅被駁回後,再UIView的顏色恢復正常。)
我如何避免這種情況問題?
看一看CLLocationManager
authorizationStatus。如果狀態爲kCLAuthorizationStatusNotDetermined
,則不要顯示彈出窗口,因爲您知道系統彈出窗口會在您請求用戶位置時顯示。然後,您可以撥打[CLLocationManager requestAlwaysAuthorization]
並等待您的CLLocationManagerDelegate
locationManager:didChangeAuthorizationStatus:
中的回調顯示您自己的彈出窗口。
感謝您的回答。我選擇了你的答案,但後來意識到UIAlertView給了我其他問題,而且我應該只使用SDCAlertView。沒有系統警報衝突,沒有屏幕凍結等。 – 2014-11-04 15:26:33
嗯,你應該實際上使用iOS 8+的UIAlertController,但SDCAlertView是一個很好的選擇。 – quark 2014-11-04 15:53:14
您可能需要在系統的彈出窗口被最終用戶確認後顯示自己的警報彈出窗口。 – holex 2014-10-29 16:47:51