2016-11-15 13 views
0

RootViewControllerとして設定されたLoginViewControllerを使用してストーリーボードを作成しました。ユーザーが既にログオンしている場合、私はHomeViewControllerにちょうど向かいます。ナビゲーションバーを隠すときの奇妙な動作戻るボタン

問題はHomeViewControllerにあります。しかし、私が移動するとき、

public override void ViewWillAppear(bool animated) 
{ 
    NavigationItem.SetHidesBackButton(true, false); 
} 

を期待通りHomeViewController上のボタンを非表示にこれを行う:私は、ユーザーがそう、私が使用してHomeViewControllerで戻るボタンを非表示にしようとしているバックLoginViewControllerにナビゲートする必要はありません私はボタンがどこにあるかをタップすることができ、HomeVCに戻ることができるので、他のVCに戻るボタンはまだ隠されているがタップ可能です。以前と同じVCに再度移動すると、[戻る]ボタンが表示されます。基本的に、最初の読み込み時には隠されています。

アイデア?

答えて

0

これは、ViewWillAppearでSetHidesBackButtonを設定したためです。 CopyをViewDidLoad()に貼り付けてください。うまくいくはずです。

More Info

+0

ありがとうございました。それを試みたが、うまくいかなかった。 – empo

0

あなたはnavigationControllerにも割り当てるとrootViewControllerに問題らしいです。この現象を回避するには、AppDelegateからrootViewControllerをナビゲートして割り当て、また、戻るボタン非表示コードを改善する必要があります。

詳細については、コードを貼り付けてください、ありがとう!

AppDelegate.swift

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { 

    var rootView: MyRootViewController = MyRootViewController() 

    if let window = self.window{ 
      window.rootViewController = rootView 
    } 

    return true 
} 

のviewDidLoad

navigationItem.hidesBackButton = true 
+0

Storyboardの代わりにAppDelegateでRootViewControllerを設定するのはどうですか?また、あなたは本当に私のRootViewController/NavigationControllerで問題が何であるか説明していません - 詳細を教えてください。 – empo

+0

@empoはい、どこからでも使用できますが、私はコードを見たことがないので、AppDelegateからrootViewControllerを定義できれば良い提案です。戻るボタンも隠しておくと、viewDidLoadから使用する必要があります。どうもありがとう :) –

0

ボタンを隠そうとしないでください。ルートとしてNavigationControllerを使用します。ログイン後、ホームに戻り、ナビゲーションスタックからログインを削除します。

関連する問題