【发布时间】:2016-10-03 09:09:05
【问题描述】:
我有一个 UIAlertController 在我的项目中运行,它通过 UIButton 连接。我的代码工作正常。但是,每次当我按下按钮时,Xcode 控制台都会打印如下所示的警报,并且我经历了在 stackOverflow 中提出的所有类似问题但是没有答案。Attempt to present UIAlertController on UIViewController whose view is not in the window hierarchy
2016-10-03 19:14:35.854 xxxxxx[85186:7214348] Warning: Attempt to present<UIAlertController: 0x7f8d99450820> on <yyyyyyy.ViewController: 0x7f8d9a025200> which is already presenting (null)
下面是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
self.moreButton.frame = CGRect(x:view.frame.width / 2, y: view.frame.height / 2, width: 100, height: 40)
moreButton.center = view.center
moreButton.backgroundColor = UIColor.darkText.withAlphaComponent(0.4)
moreButton.layer.masksToBounds = true
moreButton.setTitle("More", for: UIControlState())
moreButton.setTitleColor(UIColor.white, for: UIControlState())
moreButton.showsTouchWhenHighlighted = true
moreButton.layer.cornerRadius = 5.0
moreButton.addTarget(self, action: #selector(ViewController.moreButtonAction(_:)), for: .allTouchEvents)
self.view.addSubview(self.moreButton)
}
func moreButtonAction(_ sender: UIButton) {
DispatchQueue.main.async(execute: {
let myAlert = UIAlertController(title: nil, message: nil, preferredStyle: UIAlertControllerStyle.actionSheet)
myAlert.view.tintColor = UIColor.purple.withAlphaComponent(0.8)
let myAction_1 = UIAlertAction(title: " Title 1", style: UIAlertActionStyle.default, handler: {
(action: UIAlertAction!) in
})
let myAction_2 = UIAlertAction(title: " Title 2", style: UIAlertActionStyle.default, handler: {
(action: UIAlertAction!) in
})
let myAction_3 = UIAlertAction(title: " Title 3", style: UIAlertActionStyle.default, handler: {
(action: UIAlertAction!) in
})
let myAction_4 = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.cancel, handler: {
(action: UIAlertAction!) in
})
myAlert.addAction(myAction_1)
myAlert.addAction(myAction_2)
myAlert.addAction(myAction_3)
myAlert.addAction(myAction_4)
self.present(myAlert, animated: true, completion: nil)
})
}
提前致谢
【问题讨论】:
-
向我们展示展示警报控制器的代码。
-
@ozgur 我刚刚上传了我的代码....谢谢
标签: ios swift uialertcontroller