我似乎无法在启动视图时使警报视图弹出。代码如下。
import UIKit
class StartController: UIViewController
{
override func viewDidLoad()
{
super.viewDidLoad()
self.view.backgroundColor = UIColor.white;
startTest();
}
func startTest()
{
let alerta = UIAlertController(title: "Invalid Test", message: "Testing alert controller", preferredStyle: UIAlertControllerStyle.alert);
alerta.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil));
self.present(alerta, animated: true, completion: nil);
}
}
最佳答案
问题是在viewDidLoad中,视图层次结构未完全设置。如果使用viewDidAppear,则将设置层次结构。
如果您确实想在viewDidLoad中调用此警报,可以通过将演示文稿调用包装在此GCD块中以引起轻微延迟来进行
DispatchQueue.main.async {
// Run UI Updates or call completion block
startTest()
}
或用于
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
startTest()
}
关于ios - UIAlertController在Swift 3的启动 View 中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50616615/