我正在尝试显示我创建的类中的 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];
注意:这是代码的 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/