2017-08-27 5 views
0

は、私は私のフォームアプリのiOSのバージョンでレイアウトグリッチを持っています。Xamaron.forms IOSレイアウトグリッチ

バックボタンはアプリのAndroidのバージョンで正しく動作するように私はNavigationPagesを使用しています。私は私のアプリは、すべての利用可能な画面の不動産を必要とするため、これらのページのナビゲーションバーを非表示にするNavigationPage.SetHasNavigationBar(page, false)を使用してい

iOSでページを切り替えると、ナビゲーションバーが存在しているかのように画面が最初に配置され、ナビゲーションバーがあった場所を占めるように画面が上がり、画面の下にギャップが残ります。

したがって、このように見えることになっている私のアプリ、:

はこのように見える終わる:

あなたは転移が起こる見ることができます。 Here's a video of it

これは、ナビゲーション中に発生します。私は、画面を回転させると、その画面が出て、再レイアウトとのギャップがなくなって取得します。

public PageIamNavigatingTo() 
{ 
    InitializeComponent(); 

    NavigationPage.SetHasNavigationBar(this, false); 
} 

するか、@Yuriが示されているように、あなたはにプッシュする前にメソッドを呼び出すことができます。

+1

は/あなたがバーを非表示にするために呼び出すか、このhelps.-?コンストラクタ?かもしれあなたがページを作成した後、それを呼び出すために試すことができますが、あなたはプッシュを呼び出す前に?また、どのレイアウトタイプを使用していますか? –

答えて

0

あなたがに移動しているページのコンストラクタでSetHasNavigationBarメソッドを呼び出すことができますいずれか(これは、作業を行う必要があります)新しいページとページオブジェクトが作成された後。

async void NavigateToMyOtherPage(object sender, System.EventArgs e) 
{ 
    var page = new MyOtherPage(); 
    NavigationPage.SetHasNavigationBar(page, false); 

    await Navigation.PushAsync(page); 
} 

隠したときにアニメーションを気づかれないようにページがレンダリングされる前に、両方のケースでバーを非表示にする必要があります。

希望