zpe*_*ree 5 xaml toolbar xamarin xamarin.forms tabbedpage
我的应用在iOS上的行为非常奇怪,我有一个带有3个标签的TabPage。在第一个图像上,您可以看到第一个选项卡上有4个辅助ToolbarItems。奇怪的是,在带有Map的页面上,我没有辅助ToolbarItem,NavigationBar和Map之间的空间仍然存在。是否有人知道如何解决此问题,或者这是否是Xamarin的错误?

NavPage.xaml
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:view="clr-namespace:CarPar.View;assembly=CarPar"
x:Class="CarPar.Navigation.NavPage"
Title = "{Binding PageTitle}">
<view:HomePage />
<view:MapPage />
<view:FavoritePage />
</TabbedPage>
Run Code Online (Sandbox Code Playgroud)
主页.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:view="clr-namespace:CarPar.View;assembly=CarPar"
x:Class="CarPar.View.HomePage"
Title="City"
Icon="home.png">
<ContentPage.ToolbarItems>
<ToolbarItem Text="Alphabetisch" />
<ToolbarItem Text="Freie Plätze" />
<ToolbarItem Text="Prozent frei" />
<ToolbarItem Text="Entfernung" />
</ContentPage.ToolbarItems>
<StackLayout HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<SearchBar Placeholder="Parkhaus suchen" Text="{Binding SearchText}" />
...
<StackLayout>
</ContentPage>
Run Code Online (Sandbox Code Playgroud)
MapPage.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:maps="clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps"
x:Class="CarPar.View.MapPage"
Title="Karte"
Icon="map.png">
<ContentPage.Content>
<StackLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
<maps:Map x:Name="ParkingMap"
IsShowingUser="True"
MapType="Street"/>
</StackLayout>
</ContentPage.Content>
</ContentPage>
Run Code Online (Sandbox Code Playgroud)
您可以在推入选项卡栏堆栈的第一个“视图控制器”中创建工具栏项目。它们被实例化为导航控制器的一部分。因此,当您加载没有任何信息传递到工具栏的第二个页面时,它不会显示,但从技术上讲仍然是视图的一部分,因此它呈现顶部的空间,我相信有一些要阻止这种行为,第一个方法就是使用 AutoLayout。
public MySecondPage()
{
InitializeComponent();
NavigationPage.SetHasNavigationBar(this, false); // Hide nav bar
}
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请告诉我,还有其他不太简洁的选择。
| 归档时间: |
|
| 查看次数: |
2155 次 |
| 最近记录: |