【问题标题】:iOS popover collision / conflictiOS popover 碰撞/冲突
【发布时间】:2014-10-29 16:42:19
【问题描述】:

场景是系统弹出框(“AppName 希望使用您当前的位置”)正在替换应用程序弹出框(应用中的自定义启动消息)。应用程序弹出窗口在启动时可见一瞬间,但随后出现系统弹出窗口。

问题是当系统弹出框被关闭时,自定义弹出框不再可见,但是很多 UIView(例如按钮)显示为灰色,好像仍然存在弹出框一样。

(如果用户随后导致另一个弹出框出现,则在该弹出框关闭后依次显示缺失的弹出框。然后 UIView 颜色恢复正常。)

我怎样才能避免这个问题?

【问题讨论】:

  • 您可能需要在最终用户确认系统的弹出窗口后显示自己的警报弹出窗口。

标签: ios objective-c ios7 popover


【解决方案1】:

看看CLLocationManagerauthorizationStatus。如果状态为kCLAuthorizationStatusNotDetermined,则不要显示您的弹出窗口,因为您知道系统弹出窗口将在您请求用户位置时出现。然后您可以调用[CLLocationManager requestAlwaysAuthorization] 并等待您的CLLocationManagerDelegate 中的回调locationManager:didChangeAuthorizationStatus: 显示您自己的弹出窗口。

【讨论】:

  • 感谢您的回答。我选择了你的答案,但后来意识到 UIAlertView 给我带来了其他问题,我应该只使用 SDCAlertView。没有系统警报冲突,没有屏幕冻结等。
  • 好吧,您实际上应该在 iOS 8+ 上使用 UIAlertController,但 SDCAlertView 是一个不错的选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-09
  • 2014-09-25
  • 2019-10-23
  • 1970-01-01
  • 1970-01-01
  • 2015-01-25
  • 1970-01-01
相关资源
最近更新 更多