[英]Unwind Segue not being performed after shouldPerformSegueWithIdentifier UIAlertController
我從名為DetailViewController
的UIViewController
到MainViewController
定義為(在MainViewController
):
@IBAction func deleteItemUnwind(sender: UIStoryboardSegue)
{
let sourceViewController = sender.sourceViewController
}
在DetailView中,我具有應該執行連接到場景出口的segue的按鈕,其名稱為deleteItemUnwindSegue
,在DetailViewController中,我具有prepareForSegue
更改某些變量的值的按鈕。 這很好。 問題是,我在DetailViewController
有以下代碼
override func shouldPerformSegueWithIdentifier(identifier: String!, sender: AnyObject!) -> Bool {
if (identifier == "deleteItemUnwindSegue") {
let deleteItemAlert: UIAlertController = UIAlertController(title: "Delete item", message: "Are you sure you want to delete this item?", preferredStyle: .ActionSheet)
let cancelAction: UIAlertAction = UIAlertAction(title: "Cancel", style: .Cancel) { action -> Void in
return false
}
deleteItemAlert.addAction(cancelAction)
let deleteItemAction: UIAlertAction = UIAlertAction(title: "Yes", style: .Destructive) { action -> Void in
return true
}
deleteItemAlert.addAction(deleteChoreAction)
self.presentViewController(deleteItemAlert, animated: true) {
}
}
return true
}
並且盡管prepareForSegue
代碼有效,但不會觸發Unwind segue 本身來關閉視圖。 有任何想法嗎?
我發現顯示警報后的那一刻(在UIAlertController
上閱讀后)是執行警報后的代碼,因此它每次都會自動給出false。 我可以通過創建一個通用的“ First Responder
器” Exit
並讓按鈕項觸發安全區來繞過此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.