IOS上工具栏项目中的图像为白色(Xamarin表单)表单、工具栏、图像、白色

2023-09-04 01:46:55 作者:撩妹欧巴

嗨, 我有Xamarin Forms项目,在Andorid和UWP上的工具栏项工作正常,但在iOS上是白色图像。你能帮我吗?

在Windows上安装Xamarin.iOS

我的XAML代码:

ContentPage.ToolbarItems
            ToolbarItem 
                         Priority="0"
                         Order="Primary" Command="{Binding PrikaziInfoFilteriCommand}"
                ToolbarItem.Icon
                    OnPlatform x:TypeArguments="FileImageSource"
                        OnPlatform.Android
                            FileImageSource File="greenifnromation.png"
                        OnPlatform.Android

                        OnPlatform.iOS
                            FileImageSource  File="greenifnromation.png" 
                        OnPlatform.iOS
                        OnPlatform.WinPhone
                            FileImageSource File="Assets/greenifnromation.png" 
                        OnPlatform.WinPhone

                    OnPlatform
                ToolbarItem.Icon

            ToolbarItem
            ToolbarItem Icon="{Binding ImageSourceKalendarPlusMinus}"            
                         Priority="0" 
                     Order="Primary" Command="{Binding PrikaziCommand}"

            ToolbarItem
        ContentPage.ToolbarItems

推荐答案

iOS的工具栏项目默认为白色,这就是为什么它不会以您想要的方式显示。不幸的是,您将不得不创建一个iOS导航呈现器。让它覆盖NavigationPage,然后添加以下代码:

public override void PushViewController(UIViewController viewController, bool animated)
    {
        base.PushViewController(viewController, animated);

        var currentPage = (this.Element as Xamarin.Forms.NavigationPage)?.CurrentPage;

        if (this.NavigationBar == null || currentPage == null)
            return;

        var buttonItems = TopViewController.NavigationItem.RightBarButtonItems;

        foreach (var button in buttonItems)
        {
            button.Image = button.Image.ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal);
            button.TintColor = UIColor.Clear;
        }
    }
 
精彩推荐
图片推荐