问题描述
我正在尝试显示我所制作的类中的AlertController。
因为AlertController是UIResponder的子类,所以我使用Xcode向我建议的以下代码行
I'm trying to show an AlertController from a class that I've made.Since AlertController is a subclass of UIResponder I'm using the following line of code that Xcode is suggesting me
superclass?.presentViewController(alertController, animated: true, completion: nil)
但是我无法编译,因为AnyClass吗?没有任何成员presentViewController。
我的类是NSObject的子类。
But I cannot compile because AnyClass? does not have any member presentViewController.My class is a subclass of NSObject.
还有其他解决方案吗?
谢谢
Any other solution?Thanks
推荐答案
好吧,您只需要找到最顶层的视图控制器并显示 alertcontroller 。
Well you just need to find the topmost view controller and present the alertcontroller
from there.
UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;
while (topController.presentedViewController) {
topController = topController.presentedViewController;
}
[topController presentViewController:alertController animated:YES completion:nil];
注意:这是该代码的Objective-C版本。
Note: This is objective-c version of the code. Kindly convert it to swift accordingly.
SWIFT
let topController = UIApplication.sharedApplication().keyWindow!.rootViewController as UIViewController
while (topController.presentedViewController) {
topController = topController.presentedViewController;
}
topController.presentViewController(alertController, animated:true, completion:nil)
这篇关于从自定义类显示alertController的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!