2017-08-27 85 views
0

我的表單應用程序的iOS版本中有佈局故障。Xamaron.forms IOS佈局故障

我正在使用NavigationPages,以便後退按鈕在Android版本的應用程序中正常工作。

我使用NavigationPage.SetHasNavigationBar(page, false)來隱藏這些頁面上的導航欄,因爲我的應用程序需要所有可用的屏幕空間。

當我在iOS中切換頁面時,屏幕最初的佈局就好像導航欄存在一樣,然後向上移動以佔據導航欄所在的空間,在屏幕底部留下空隙。

所以我的應用程序,這應該是這樣的:

最終看起來像這樣:

你可以看到發生轉變。 Here's a video of it

這隻在導航過程中發生。如果我然後旋轉屏幕,那個屏幕被重新佈置並且差距消失。

+1

您何時/在哪裏打電話來隱藏酒吧?構造函數?可能你可以嘗試在創建頁面之後調用它,但在調用push之前?另外,你正在使用什麼佈局類型? –

回答

0

您可以撥打您瀏覽到另一個頁面的構造函數的SetHasNavigationBar方法(這應該做的工作):

public PageIamNavigatingTo() 
{ 
    InitializeComponent(); 

    NavigationPage.SetHasNavigationBar(this, false); 
} 

或者作爲@Yuri已經表明,你可以推到前調用該方法一個新頁面和頁面對象創建完成後。

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

    await Navigation.PushAsync(page); 
} 

在這兩種情況下,都應在顯示頁面之前隱藏該條,以便隱藏時不會看到動畫。

希望這會有所幫助.-