请考虑以下图像:
我使用MAUI和默认的Shell做了这个,像这样:
<Shell
x:Class="MyApp.AppShell"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:pages="using:MyApp.Pages"
FlyoutBehavior="Disabled"
BackgroundColor="Red">
<TabBar>
<Tab>
<ShellContent Title="Title" ContentTemplate="{DataTemplate pages:MainPage}" />
</Tab>
</TabBar>
</Shell>
因为TabBar是隐式的,如果你省略它,我只是离开它。
然后通过在应用程序上分配MainPage来应用此Shell,如下所示:
MainPage = new AppShell();
我试过各种方法来隐藏标题:
- 不分配一个标题到标签,但这将只留下一个空白空间。
Shell.TabBarIsVisible="false"
和类似的选项,甚至在组件初始化之前和之后通过代码执行,并将XAML指令移动到ShellContext XAML。Shell.NavBarIsVisible="false"
似乎做了一些事情,但它也会隐藏iOS状态栏,仍然保留空间。- 我已经尝试使用XAML调试器检查元素,因此可以设置IsVisible属性或其他属性。
- 将我的页面直接分配给
MainPage
,它仍然会保留空间。 - 我甚至浏览了MAUI的源代码来寻找一些有趣的东西,但没有运气。
我现在不知所措,根本找不到任何东西让它工作。有人能告诉我删除标题和保留空格的正确方向吗?所有这一切似乎在Android和UWP上都能正常工作,只是iOS不行。
1条答案
按热度按时间64jmpszr1#
出于纯粹的绝望,我测试了一个运行iOS 16.5的真实的iPhone,我不得不得出结论,这是一个iOS模拟器相关的问题,而不是物理硬件问题。不过,还是挺烦人的。
顺便说一下,正确的方法是
Shell.NavBarIsVisible="false"
。