我正在开发一个应用程序,如果出现网络问题,我会显示一个错误页面。该应用程序具有多个情节提要,并且可以在任何地方进行。
func displayErrorPage(errorCode: ErrorCode) -> Void {
if !isDisplayingError {
DispatchQueue.main.async {
self.isDisplayingError = true
let storyboard = UIStoryboard(name: "alert", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "AlertScreen") as! AlertVC
controller.errorCode = errorCode
UIApplication.shared.topViewController?.present(controller, animated: true, completion: nil)
}
}
}
我想使用unwind消除它,清除所有视图并返回主页。我已经在警报视图中使用它来关闭它,但是有时不起作用。
@IBAction func closeBtn(_ sender: Any) {
flowError = true
NetworkManager.shared().isDisplayingError = false
performSegue(withIdentifier: "unwindToSH", sender: self)
}
有人有指针吗?
答案 0 :(得分:0)
在要展开的视图控制器中创建展开序列IBAction 。在您的情况下,可能是HomeViewController
。将此代码添加到您的HomeViewController
@IBAction func unwindToHomeVC(segue: UIStoryboardSegue) {}
连接放宽搜索-控制AlertVC’s
中的ViewController图标的拖动以退出storyboard
中的图标,选择放宽搜索动作(unwindToHomeVC
),该操作是在IBActions列表的步骤1中创建的。
unwindToHomeVC
” 以编程方式触发搜寻-在适当的位置触发。就您而言,关闭按钮操作
self.performSegue(withIdentifier: "unwindToMenu", sender: self)
即使设置正确,即使您同时使用多个情节提要板,它也将起作用。希望这一点对您有所帮助。 谢谢