TabbedPage 无法在使用 MAUI 的 iOS 上工作,而是显示空白页面

问题描述 投票:0回答:3

我的 MAUI 应用程序中的 TabbedPage 遇到问题。

该组件在 Android 上工作正常,选项卡按预期工作,但在 iOS 上,它根本不起作用,它只显示一个空白页面,其中没有任何内容,没有错误,没有崩溃,只是纯空白。

我正在使用 Visual Studio 2022 预览版。

在 macOS (Monterey) 上的 iOS 模拟器 (iPhone 13 Pro) 上运行的打印: iOS Simulator iPhone 13 Pro

在 Android 上运行的打印(真实设备、Poco X3 Pro、MIUI 12.5.7、Android 11): Real device, Poco X3 Pro, MIUI 12.5.7, Android 11

这是 TabbedPage 的 XAML 代码:

<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="AppColetaLeite.LinhasColeta"
                          NavigationPage.HasNavigationBar="false"

            Title="hello">
    <ContentPage Title="Tab 1">

        
    </ContentPage>

    <ContentPage Title="Tab 2">


    </ContentPage>

    <ContentPage Title="Tab 3">


    </ContentPage>

</TabbedPage>

这是此页面的隐藏代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AppColetaLeite
{
    public partial class LinhasColeta : TabbedPage
    {
        public LinhasColeta()
        {
            InitializeComponent();
        }
    }
}
c# ios xamarin visual-studio-2022 maui
3个回答
1
投票

我建议使用Shell,直到毛伊岛变得更加稳定并支持所有平台上的控制。

<Application.MainPage>
<Shell BackgroundColor="LightGray">

            <TabBar >
                <Tab Title="Home" Icon="tab_home.png">
                    <ShellContent ContentTemplate="{DataTemplate local:ClassesPage}"/>
                </Tab>
                <Tab Title="Favorites" Icon="tab_favorites.png">
                    <ShellContent ContentTemplate="{DataTemplate local:GuardientsPage}"/>
                </Tab>
                <Tab Title="Map" Icon="tab_map.png">
                    <ShellContent ContentTemplate="{DataTemplate local:StaffPage}"/>
                </Tab>
                <Tab Title="Settings" Icon="tab_settings.png">
                    <ShellContent ContentTemplate="{DataTemplate local:MenuPage}"/>
                </Tab>
            </TabBar>

</Shell>
</Application.MainPage>

1
投票

请将其复制到您的 App.xaml


<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:AppColetaLeite"
              x:Class="AppColetaLeite.LinhasColeta"  >
   
    <Application.MainPage>
        <Shell BackgroundColor="LightGray">

            <TabBar x:Name="PhoneTabs">
                <Tab Title="Page1" >
                    <ShellContent ContentTemplate="{DataTemplate local:Page1}"/>
                </Tab>
                <Tab Title="Page2" >
                    <ShellContent ContentTemplate="{DataTemplate local:Page2}"/>
                </Tab>
              
            </TabBar>

        </Shell>
    </Application.MainPage>
</Application>

然后在您的 AppColetaLeite 项目中创建两个毛伊岛内容页面,将其命名为 Page1 和 Page2。

这应该 100% 有效


0
投票

请退出 NavigationPage.HasNavigationBar="false" del XAML 和 hazlo desde código c#

© www.soinside.com 2019 - 2024. All rights reserved.