2017-07-19 19 views
0

私はxamarin.iosで働いています。私は、ユーザーが前の画面に戻ることを望んでいると確信している場合、上に戻るナビゲーションボタンをクリックすると確認ポップアップを表示したい。ViewWillDisappearでコードを管理するにはどうすればいいですか?

私はViewWillDisappearメソッドをオーバーライドしてポップアップを呼び出しましたが、ポップアップから確認する前に、以前の画面に戻ります。

ポップアップが表示され、その画面の後ろに前の画面に移動します。

ユーザーがポップアップから確認するまで画面を移動できないように管理する方法は?

答えて

0

viewWillDisappearは既にトランジションの一部であり、キャンセルできない機能です。 代わりにできることは、backBarButtonを隠すことです。代わりにnavigationItem.leftBarButtonというカスタムを指定してください。@IBActionも割り当てられています。 @IBActionでは、ポップアップを提示するなど、必要な機能を実装します。

0

viewWillDissappearでやりたいことはできません。代わりに、あなたはこのようなあなたのバックボタンにカスタムアクションを割り当てることができます。

func displayConfirmation(sender: AnyObject) { 
    let alert = UIAlertController(title: "", message: "Go back?", preferredStyle: .actionSheet) 
    alert.addAction(UIAlertAction(title: "No", style: UIAlertActionStyle.default, handler: nil)) 
    alert.addAction(UIAlertAction(title: "Yes", style: UIAlertActionStyle.default, handler: { action in 
     self.navigationController?.popViewController(animated: true) 
    })) 
    self.present(alert, animated: true, completion: nil) 
} 

self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: .Done, target: self, action:#selector(self.displayConfirmation(sender:))) 

は、セレクタを実装します

関連する問題