我正在尝试修改编辑区段(在IB中显示),我可以点击“编辑报告详细信息”和#39;按钮在工具栏上,它将显示Sece到'配置报告'查看控制器。
但是,如果我点击取消,它会一直回到我的登录界面,因为presentViewController是一个UINavigationController,即使它不应该是。
这是故事板。 http://i.imgur.com/DK4HhpO.png
有什么想法吗?
// MARK: Navigation
@IBAction func cancel(sender: UIBarButtonItem) {
// Depending on style of presentation (modal or push presentation), this view controller needs to be dismissed in two different ways.
let isPresentingInAddItemMode = presentingViewController is UINavigationController
if isPresentingInAddItemMode {
dismissViewControllerAnimated(true, completion: nil)
}
else {
// In this mode (push presentation), we need to pop the view controller to get rid of it, rather than dismissing
navigationController!.popViewControllerAnimated(true)
}
}
答案 0 :(得分:0)
这就是我在代码中所做的全部工作。
@IBAction func cancel(sender: AnyObject) {
self.navigationController?.popViewControllerAnimated(true)
}
您可能需要先检查发送给您的segue标识符。
@IBAction func cancel(sender: AnyObject) {
if (segue.identifier == "Edit") {
self.navigationController?.popViewControllerAnimated(true)
} else if (segue.identifier == "Add") {
self.navigationController?.popViewControllerAnimated(true)
}
通过这种方式,它知道要遵循哪一个。它也可能取决于你首先如何看待视图。