【问题标题】:Alert Blocking Segue-iOS警报阻止 Segue-iOS
【发布时间】:2020-04-22 20:48:12
【问题描述】:

我想在执行 segue 之前征求用户的许可(我正在使用 UIAlert)。一旦他们回答了警报中的问题,我想继续下一个视图控制器,不管他们的回答如何。

代码如下所示:

showAlert()        //Method showing the alert

performSegue(withIdentifier : "secondVC", sender : self)

我在这里面临的问题是应用程序向我显示警报但没有执行 segue。

【问题讨论】:

  • 您需要将完成处理程序闭包传递给您的showAlert 函数。让该函数从警报视图上的操作处理程序调用闭包。在闭包中你可以执行 segue
  • 你能发布你的 showAlert() 方法吗?

标签: ios swift segue uialertcontroller


【解决方案1】:

像这样向警报的关闭按钮添加一个完成处理程序

let alert = UIAlertController(title: "Alert", message: "Content Here", preferredStyle: .alert)

// add textfield or whatever you need

alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { (action) in
    self.performSegue(withIdentifier: "secondVC", sender: self)
}))
present(alert, animated: true)

当用户按下警报上的“确定”按钮时,将调用完成处理程序。

【讨论】:

  • 您好,谢谢!这就是我最终使用的。一开始我想避免使用完成处理程序,因为我正在使用一个函数来设置警报,然后在 segue 之前进行更多检查,但后来只是更改了函数以进行所有检查。
猜你喜欢
  • 2012-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-25
  • 2011-05-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多