我的视图底部有一个TabBar,我不想要任何着色。与iOS 7一样,iOS会自动将图标变为蓝色,我不希望这种情况发生。
我尝试过编写自定义渲染器但是将色调颜色设置为清除只是删除了图标(应该已经看到了一个)。
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
TabBar.TintColor = UIKit.UIColor.Clear;
}
我想要一个没有任何着色的标签项目的图像。怎么办呢?
答案 0 :(得分:1)
你不能。
标签栏按钮不显示颜色。标签栏按钮仅使用您指定给它们的图像中的Alpha信息。您可以使用分段控件。
答案 1 :(得分:1)
有点晚了,但我遇到了类似的问题,这就是我的所作所为。我创建了一个自定义标签栏并设置标签栏项目以使用原始图像(没有色调)。然后,我指定在选择图标时使用渲染模板。
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);
}
}
}
答案 2 :(得分:0)