2017-10-09 11 views
0

Storyboardを使用せずにView Controllerを解除するにはどうすればよいですか?これを実現するにはUINavigationControllerを使用する必要がありますか?どのようにしない場合は?Storyboard Swiftを使用せずにViewControlelrを右にスワイプする

+0

UISwipeGestureRecognizerを試しましたか?あなたはそれを設定すると、あなたは '聞かせswipeGesture = UISwipeGestureRecognizer(:自己、アクション:ターゲット#selector(解任))のような何かを行うことができます swipeGesture.direction = .RIGHT ' –

+0

を任意のビューコントローラを却下ようなものは何もありません。 VCをオフスクリーンにする方法は、使用するコンテナビューコントローラに限定されています。 Dismissingはモーダルプレゼンテーション、ポップはナビゲーションコントローラなどのためのものです。レイアウトはレイアウトによって異なります。 –

+0

@spenseram私は実際にストーリーボードなしでウインナビゲーションコントローラを使用しました。 – Mahan

答えて

0

ビューコントローラを却下する方法が提示ビューコントローラに閉じメソッドを呼び出すことです。親から子コントローラを提示した場合は、self.present(_:animated:)に電話してself.dismiss(animated:)に電話することができます。 navControllerを使用してnavigationController.push(_:animated:)を呼び出した場合は、ナビゲーションコントローラにnavigationController.popViewController(animated:) という名前を付けるように指示する必要がありますが、メソッド名は正確ではないかもしれませんが、オートコンプリートで把握できるはずです。

+0

私はこの方法を使いました。それがポップアップされたときに表示されるか、それだけでは見えないのですか? – Mahan

+0

これを聞いてうれしいのはあなたのために働いています!ビューコントローラをポップすると、実際には消えてしまいます。保持サイクルがない限り。ビジュアルメモリデバッガを使用してxcodeでアプリケーションを解析し、ビューコントローラのクラス名を検索することができます。 –

+0

yeatしかし、私がビューコントローラをポップアップして別のものをプッシュすると、以前のものにスワイプすることができますが、このスワイプ機能を無効にしたくないのですが、ムーポイントはVCが実際にはなくなっています – Mahan

0

右にスワイプしたいのであれば、却下ではありませんが、UIViewControllerUINavigationControllerに埋め込みたいと思っています。例えば

if let vc = UIStoryboard(name: "YourStoryboard", bundle: nil).instantiateViewController(withIdentifier: "YourViewController") as? YourViewController { 
    let navigation = UINavigationController(rootViewController: vc) 
    navigationController?.pushViewController(vc, animated: true) 
} 
関連する問題