ios - 显示来自自定义类的 alertController

标签 ios swift alert nsobject uialertcontroller

我正在尝试显示我创建的类中的 AlertController。 由于 AlertController 是 UIResponder 的子类,我正在使用 Xcode 向我建议的以下代码行

superclass?.presentViewController(alertController, animated: true, completion: nil)

但我无法编译,因为 AnyClass?没有任何成员 presentViewController。 我的类是 NSObject 的子类。

还有其他解决方案吗? 谢谢

最佳答案

好吧,您只需要找到最顶层的 View Controller 并从那里显示 alertcontroller

UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;

while (topController.presentedViewController) {
    topController = topController.presentedViewController;
}
[topController presentViewController:alertController animated:YES completion:nil];

credits

注意:这是代码的 objective-c 版本。请相应地将其转换为 swift。

SWIFT

let topController = UIApplication.sharedApplication().keyWindow!.rootViewController as UIViewController

while (topController.presentedViewController) {
    topController = topController.presentedViewController;
}
topController.presentViewController(alertController, animated:true, completion:nil)

关于ios - 显示来自自定义类的 alertController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27735050/

相关文章:

android - 将现有的 cordova cli 项目从 3.3.1 升级到 3.5

ios - 如何在用户点击 Ui 按钮时将相关数据加载到表中?

objective-c - Swift 函数未包含在自动生成的 -Swift.h 伞文件中

ios - 当另一个单元格按钮被选中时,将之前的单元格按钮图像设置为默认状态

javascript - 代码错误导致浏览器选项卡崩溃

ios - While 循环和触摸事件 Swift iOS

ios - UIImageView 从左到右查看图像

ios - 用 NSTextAttachment 替换 UILabel 中的表情符号 - 无法将纯文本表示设置回常规表情符号以进行复制/粘贴

javascript - 如何让已取消的警报在警报 "cancel"之后返回到相同的先前选项?

c# - ASP.NET - Android 设备的 C# 警报