私はそこに多くの投稿があることを知っていますが、私の問題は少し異なります。私は複数のビューを持つTab Bar Controllerを持っており、ビューの1つはログインビューです。ユーザーがログインすると、ユーザーメニューを表示するためにビューを変更する必要があります。プログラムでビューを変更する
同時に、タブバーメニューを表示したままにする必要があります。そのため、タブバーコントローラーへの参照が緩くなるため、モーダルを使用できません。
だから、私はちょうど私がユーザーのメニュービューをスタックにプッシュする(最高の方法ではないが動作する)ナビゲーションコントローラを使用して終了しました。
問題は、ユーザーがログインバーをダブルクリックすると、ログインビューが読み込まれ、これが起こりたくないということです。この例では
ユーザーがログインボタンをクリックした場合、それはブルービューに移動しますが、タブバーメニューの機能ボタン上のユーザーをダブルクリックした場合、それは赤になりますビュー。
私のソリューションはうまくいかないので、どうすれば私が望むものを達成できますか?ユーザがログインボタンを押すと、彼はログアウトボタンを押すまでブルービューのみを表示します。
[編集]ここで
は青いビューを表示するためのコードです:let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let ViewController = storyBoard.instantiateViewController(withIdentifier: "userViewID") as! UserViewController
self.navigationController?.pushViewController(ViewController, animated: true)