我的代码适用于所有其他按钮,但它不适用于某个特定按钮。代码是:
@IBAction func Quiz(sender: AnyObject) {
NSUserDefaults.standardUserDefaults().setInteger(1, forKey: "QuizLevel")
let refreshAlert = UIAlertController(title: "Alert!", message: "Please reset.", preferredStyle: UIAlertControllerStyle.Alert)
refreshAlert.addAction(UIAlertAction(title: "Ok", style: .Default, handler: nil))
self.presentViewController(refreshAlert, animated: true, completion:nil)
}
我得到的自动布局警告是:
2016-05-26 20:01:17.640 Quiz[4250:297386] <UIView: 0x7fca60571a80; frame = (0 0; 375 667); autoresize = W+H; layer = <CALayer: 0x7fca6056d0c0>>'s window is not equal to <UIAlertController: 0x7fca60587620>'s view's window!
我该如何纠正?
答案 0 :(得分:-3)
当前警报控制器命令将在主线程中,因为更改在主屏幕上执行,这就是它显示错误的原因。
dispatch_async(dispatch_get_main_queue(), {
let alertController = UIAlertController(title: "Hey AppCoda", message: "What do you want to do?", preferredStyle: .Alert)
let defaultAction = UIAlertAction(title: "OK", style: .Default, handler: nil)
alertController.addAction(defaultAction)
presentViewController(alertController, animated: true, completion: nil)
})