从 iOS TabBar 移除着色
Remove tinting from iOS TabBar
我的视图底部有一个 TabBar,我不想对其进行任何着色。由于 od iOS 7,iOS 自动将图标染成蓝色,我不希望这种情况发生。
我曾尝试编写自定义渲染器,但将色调颜色设置为清除只会删除图标(应该已经看到了)。
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
TabBar.TintColor = UIKit.UIColor.Clear;
}
我想要没有任何着色的选项卡项目图像。如何做到这一点?
你不能。
标签栏按钮不显示颜色。标签栏按钮仅使用您分配给它们的图像中的 alpha 信息。您可以改用分段控件。
有点晚了,但我遇到了类似的问题,这就是我所做的。我创建了一个自定义标签栏并将标签栏项目设置为使用原始图像(无色调)。然后,我指定选择图标时使用渲染模板。
public partial class UICustomTabBar : UITabBar
{
public UICustomTabBar (IntPtr handle) : base (handle)
{
//Set your colors
BackgroundColor = UIColor.White;
SelectedImageTintColor = UIColor.Red;
foreach (UITabBarItem tabBarItem in Items)
{
tabBarItem.SelectedImage = tabBarItem.SelectedImage.ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate);
tabBarItem.Image = tabBarItem.Image.ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal);
}
}
}
如果有人仍在寻找解决方案,您可以转到图像资产,select 所有选项卡图标(包括所选样式),然后在其选项中选择 Render As: Original Image
而不是 Default
.
不需要额外的操作,您可以在 TabView(或图像视图)中 select 任何色调颜色,但它不会以任何方式影响它。您也可以通过编程方式执行此操作,但这要简单一些。
虽然我不确定从哪个 iOS 这个功能可用,但它可能对其他有类似问题的人有所帮助。
我的视图底部有一个 TabBar,我不想对其进行任何着色。由于 od iOS 7,iOS 自动将图标染成蓝色,我不希望这种情况发生。
我曾尝试编写自定义渲染器,但将色调颜色设置为清除只会删除图标(应该已经看到了)。
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
TabBar.TintColor = UIKit.UIColor.Clear;
}
我想要没有任何着色的选项卡项目图像。如何做到这一点?
你不能。
标签栏按钮不显示颜色。标签栏按钮仅使用您分配给它们的图像中的 alpha 信息。您可以改用分段控件。
有点晚了,但我遇到了类似的问题,这就是我所做的。我创建了一个自定义标签栏并将标签栏项目设置为使用原始图像(无色调)。然后,我指定选择图标时使用渲染模板。
public partial class UICustomTabBar : UITabBar
{
public UICustomTabBar (IntPtr handle) : base (handle)
{
//Set your colors
BackgroundColor = UIColor.White;
SelectedImageTintColor = UIColor.Red;
foreach (UITabBarItem tabBarItem in Items)
{
tabBarItem.SelectedImage = tabBarItem.SelectedImage.ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate);
tabBarItem.Image = tabBarItem.Image.ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal);
}
}
}
如果有人仍在寻找解决方案,您可以转到图像资产,select 所有选项卡图标(包括所选样式),然后在其选项中选择 Render As: Original Image
而不是 Default
.
不需要额外的操作,您可以在 TabView(或图像视图)中 select 任何色调颜色,但它不会以任何方式影响它。您也可以通过编程方式执行此操作,但这要简单一些。
虽然我不确定从哪个 iOS 这个功能可用,但它可能对其他有类似问题的人有所帮助。