【问题标题】:App Screen Goes black when tap on UIAlertAction点击 UIAlertAction 时应用程序屏幕变黑
【发布时间】:2021-08-06 10:41:03
【问题描述】:

我正在开发用 Swift 4.0 编写的现有 swift 应用程序。如果我尝试以警报或操作表的形式将 UIAlertController 与 UIAlertAction 一起使用,我在任何屏幕上都会遇到奇怪的问题。一旦我点击 UIAlertAction 按钮,整个屏幕就会变黑(空白)并且我需要强制退出以重新启动应用程序,我在 iOS 14.7.1 上得到了这个.... 我尝试在主线程上使用警报,添加场景委托以及部署目标是 iOS 13.0 但没有运气和有趣的部分是如果我使用 Xcode 运行应用程序一切正常但如果我尝试直接在设备上使用应用程序而不运行,得到这个奇怪的问题......任何建议......

提前谢谢....

【问题讨论】:

  • 能否分享代码
  • func showErrorAlert(_ message: String) { let alert = UIAlertController(title: nil, message: message, preferredStyle: .alert) alert.addAction(UIAlertAction(title: "OK", style: .破坏性,处理程序:无))self.present(警报,动画:真,完成:无)}
  • 由于您提供的代码并不能真正帮助获得任何线索,我建议调查问题并查找应用程序创建窗口并设置关键窗口的位置。这只是一个可疑的位置,由于意外的副作用,可能会发生此类错误。也可能是自动布局约束冲突、发疯,或者尝试呈现视图控制器,而呈现视图控制器已经设置了呈现视图控制器。
  • @CouchDeveloper 谢谢,在看到调试视图层次结构后,我点击了 UIAlert 操作,它删除了窗口,这就是整个应用程序变为空白的原因,所以我创建了新窗口来显示警报。我关注了这个堆栈溢出答案stackoverflow.com/questions/58131996/… 可能对某人有帮助....

标签: ios swift uialertcontroller uialertaction


【解决方案1】:

我现在得到了解决方案,在看到调试视图层次结构后,我点击了 UIAlertAction,它删除了窗口,这就是整个应用程序变为空白的原因,所以我创建了新窗口来显示警报。我关注了这个堆栈溢出答案Every UIAlertController disappear automatically before user responds - since iOS 13 可能对某人有帮助....

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    相关资源
    最近更新 更多