Android Xamarin表单-IOS-汉堡包菜单标题颜色与状态栏不同

Android Xamarin表单-IOS-汉堡包菜单标题颜色与状态栏不同,android,ios,xamarin.forms,hamburger-menu,Android,Ios,Xamarin.forms,Hamburger Menu,我在Xamarin表单应用程序中添加了一个汉堡包菜单。问题在于,对于IOS设备,当点击菜单时,状态栏的颜色不会像Android那样根据菜单标题的颜色变化。下面的图片可以看出其中的区别 这是主页: <MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml

我在Xamarin表单应用程序中添加了一个汉堡包菜单。问题在于,对于IOS设备,当点击菜单时,状态栏的颜色不会像Android那样根据菜单标题的颜色变化。下面的图片可以看出其中的区别

这是主页:

<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                 x:Class="MyProject.UI.Pages.Menu.MainPage"
                 xmlns:pages="clr-namespace:MyProject.UI.Pages.Menu"
                 xmlns:calendar="clr-namespace:MyProject.UI.Pages.Calendar;assembly=MyProject"
                 Title="Main">
        <MasterDetailPage.Master>
            <pages:HamburgerMenu x:Name="MasterPage" />
        </MasterDetailPage.Master>
        <MasterDetailPage.Detail>
            <NavigationPage>
                <x:Arguments>
                    <calendar:CalendarPage />
                </x:Arguments>
            </NavigationPage>
        </MasterDetailPage.Detail>
    </MasterDetailPage>

,,

对于android,它是默认显示的状态栏的默认颜色,您可以在
资源
文件夹下的
style.xml
文件中找到它

您可以手动更改iOS的状态栏颜色:
在加载应用程序之前,在AppDelegate.cs文件中编写此代码

var statusBar = UIApplication.SharedApplication.ValueForKey(new NSString("statusBar")) as UIView;
    if (statusBar.RespondsToSelector(new ObjCRuntime.Selector("setBackgroundColor:")))
    {
        statusBar.BackgroundColor = UIColor.FromRGB(66, 134, 244);
        statusBar.TintColor = UIColor.White;
    }
希望这能解决你的问题