1

(私がFlyout Navigationを使用しているので、私はすべてのユーザーインターフェイスをストーリーボードで使用できません)私はMainControllerと呼ばれるUINavigationControllerと一連のビューコントローラを持っています。ルートコントローラでアプリケーションを起動すると、ナビゲーションバーが表示されます。Xamarin iOS:ビューを押した後にナビゲーションバーが表示されない

私はプログラム的に新しいのViewControllerを作成し、私が作成し、(メインコントローラ内)のような、それを押して、ArticleDisplayと呼ばれる:

public void Open_Article(Post post) 
{ 
    ArticleDisplay vw = new ArticleDisplay(this); 
    vw.SetPost(post); // to set the iOS 

    this.PushViewController(vw, true); 
} 

私はアプリを実行し、ArticleDisplayコントローラを表示すると、私は得ることはありませんメインビューコントローラにはナビゲーションバーがありますが、ナビゲーションバー(as you can see in this image)です。 this.SetNavigationBarHidden(false,true)のようなことをやろうとすると何も起こりません。

ナビゲーションバーを表示するにはどうすればよいですか?私はどこかでそれを台無しにしていると確信しています。私はそれが必要なので、ユーザーが前にあったコントローラーに戻ることを許可することができます。

+1

フライアウトナビゲーションコントローラは、ナビゲーションスタックを保持しているコントローラかもしれません。 NavigationControllerにプッシュされたコントローラ内に値があるかどうかを確認するには、ナビゲーションスタックを表示するViewControllersというプロパティがあります。 – Pilatus

+0

try .. this.PushViewController(new UINavigationController(vw)、true) –

+0

@MohibSheth私はそれを試みましたが、その引数に対してUINavigationControllersを受け入れることができないというエラーが表示されました。 – JaykeBird

答えて

0

FlyoutNavigationに見た後、サンプル・プロジェクト(as pointed out by Mohib Sheth)をダウンロードしてみて、ボタンと2番目のビューの間のプッシュ・セグメントを作成Storyboard

Using storyboard

を使用することが可能であると思われます。 PushViewController方法

を使用して

それでもPushViewControllerメソッドを使用したい場合は、あなたの最初のビューが(FlyOutNavigation項目をクリックした後に示すように)NavigationControllerであることを確認してください。このNavigationControllerは、現在のページのナビゲーションスタックを制御します。

ViewControllerNavigationControllerでラップされたので、ボタンを追加するか、NavigationController.PushViewControllerメソッドを呼び出すことができます。

PushView.TouchDown += (evt, args) => 
{ 
    NavigationController.PushViewController(new UIViewController(), true); 
}; 

+0

あなたは私に少しのインスピレーションを与えました何かをもっと見てみると、明日のチャンスがあると、私は間違いなくいくつかのことを試してみます。また、私はそれがストーリーボードで動作するのか分からなかった!この現在のプロジェクトでは、私はすでにストーリーボードを持っていないという愚かなところをもう少し解き明かしましたが、私はそれを実装するために私のプロジェクト全体を裂くことを恐れています。今後のプロジェクトについては、もっと詳しく見ていきます!私が物事を理解することができれば、私はこの答えを受け入れるでしょう。 – JaykeBird