ios - UIAlertController 作为 subview Controller

标签 ios swift uiviewcontroller uikit uialertcontroller

为了在我的应用程序中实现更好的自定义,我想将 UIAlertController 放在 UIViewController 子类中。警报应该是 UIViewController 的子级,以提供更大的灵 active 。

实现此目标的最佳方法是什么?

到目前为止,我已经尝试将警报添加为 subview Controller 。当我希望显示警报时,我会以模态方式显示容器 View Controller 。

我还尝试在 View Controller 上调用 presentViewController(将警报作为参数)。但是,我不确定实现我想要的目标的正确方法是什么。

编辑:这些解决方案都没有像我希望的那样工作,但我不知道那是因为我做错了什么还是因为方法不对。

编辑 2:添加的功能是提供 UIKeyCommands 以更轻松地选择警报选项。我没有子类化 UIAlertController 有两个原因:(1) 文档声明它不应该被子类化,以及 (2) 添加关键命令 UIAlertController 不起作用。

最佳答案

您能否解释一下这种方法提供了什么样的灵 active ?我并不怀疑它确实如此,因为我是 iOS 开发的新手,但我不太明白您要使用 subview Controller 实现什么。

如果您只是想从您的 View Controller 中呈现一个 UIAlertController,只需创建警报 Controller ,配置它,然后使用 presentViewController 来显示它。

但是,作为一般方法,我会遵循 this thread 中顶部答案中的建议。 .它建议使用带有自定义 show 方法的 UIAlertController 子类或类别,为警报 Controller 提供自己的窗口,以便可以说警报可以“全局”显示。

关于ios - UIAlertController 作为 subview Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34830493/

相关文章:

ios - "Unrecognized selector sent to instance"用于扩展实现 TableView 的下拉刷新

ios - 在注释数组上设置公开按钮

swift - Realm swift sigabrt 中止崩溃

ios - 在现有 UINavigationController 中插入 UIViewController

string - UITextView 包含粗体和常规字符串

iphone - 在导航堆栈中加载 UIViewController 两次

iOS - 在其上呈现模态后保留 View Controller 状态

ios - recordFetchedBlock swift 中的范围问题

ios - 使用 TableView 添加导航到 View Controller

ios - 如何仅针对 UIControlEvent.allEditingEvents 覆盖 UITextField 中的 addTarget?