【问题标题】:Xamarin Forms IOS Remove IconImageSourceXamarin Forms IOS 删除 IconImageSource
【发布时间】:2021-12-30 23:14:26
【问题描述】:

带有 IconImageSource 的 ToolbarItems 导致我的应用在 iOS 上崩溃。所以我愿意只在 iOS 上删除它们,但在 Android 上显示图标。我怎样才能做到这一点?谢谢!

<TabbedPage.ToolbarItems>
    <ToolbarItem x:Name="searchOptn" IconImageSource="{local:ImageResource Bufib.Logos.search.png}" Clicked="searchOptn_Clicked" />
    <ToolbarItem x:Name="syncOptn" IconImageSource="{local:ImageResource Bufib.Logos.sync.png}" Clicked="syncOptn_Clicked"/>
    <ToolbarItem x:Name="favouriteOptn" Clicked="favouriteOptn_Clicked" Order="Secondary"/>
    <ToolbarItem x:Name="visibilityOptn" Clicked="visibilityOptn_Clicked"  Order="Secondary"/>
</TabbedPage.ToolbarItems>

【问题讨论】:

  • 似乎没有人有明确的答案。 @杰森
  • “该问题将在 #14749 中修复,我们会将其包含在 SR7 中。”
  • 同时尝试的想法。我还没有测试过,但尝试使用IsVisible="False" 添加第一个不带图标的 ToolbarItem。如果这没有帮助,那么我能想到的最好的办法就是让它可见,但带有空白文本且没有图标 - 让它不是很明显。或许也可以设置WidthRequest或者很小的FontSize
  • @ToolmakerSteve 谢谢你的时间,但没有用,我接受了有效的答案,

标签: c# xamarin xamarin.forms mobile xamarin.ios


【解决方案1】:

在Xamarin.Forms中,使用Device.RuntimePlatform可以获取当前用户使用的手机平台。

使用上述代码进行判断和数据处理。

这是我的后台代码供大家参考:

public partial class TabbedPage1 : TabbedPage
{
    public TabbedPage1()
    {
        InitializeComponent();
    }
    protected override void OnAppearing()
    {
        base.OnAppearing();
        if (Device.RuntimePlatform == "Android")//Determine whether it is Android, if it is, add a picture
        {
            mytest.IconImageSource = "xxx.jpg";
        }
    }
}

【讨论】:

  • 太好了,我不知道我是怎么错过这个解决方案的。谢谢你!
猜你喜欢
  • 1970-01-01
  • 2021-10-25
  • 1970-01-01
  • 2017-02-28
  • 2020-04-15
  • 2021-07-05
  • 2018-02-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多