我正在研究Xamarin表单项目。
我有一个带9个标签的标签页。标签栏中将显示4个标签,其中包含说明和图标,另外还添加了一个标签“更多”,其中包含其他标签列表。
在我设置的Appdelegate.cs文件中
UITabbar.appearance.SelectedImageTintColor = UIColor.green;
这也是我的“自定义”标签渲染器:
public class CustomTabRenderer : TabbedRenderer
{
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
TabBar.TintColor = new UIColor(red: 0.55f, green: 0.76f, blue: 0.29f, alpha: 1.0f);
}
public override void ViewDidAppear(bool animated)
{
base.ViewDidAppear(animated);
if (TabBar.Items == null) return;
TabBar.SelectedImageTintColor = new UIColor(red: 0.55f, green: 0.76f, blue: 0.29f, alpha: 1.0f);
foreach (var uiTabBarItem in TabBar.Items)
{
var fontSize = new UITextAttributes(){ Font = UIFont.SystemFontOfSize(13)};
uiTabBarItem.SetTitleTextAttributes(fontSize, UIControlState.Normal);
}
}
public override void ItemSelected(UITabBar tabbar, UITabBarItem item)
{
tabbar.SelectedImageTintColor = new UIColor(red: 0.55f, green: 0.76f, blue: 0.29f, alpha: 1.0f);
}
因此,酒吧栏中的所有4个标签都是绿色,但是“更多”部分中的标签始终是蓝色。
有什么解决办法吗?我们还可以将彩色图像放入标签栏吗?
答案 0 :(得分:1)
首先,标签栏在iOS中最多只能显示5个项目。如果您想更改项目“更多”的颜色,请使用代码
UITabBarController tabViewController = (UITabBarController)this.Window.RootViewController;
tabViewController.MoreNavigationController.TabBarController.TabBar.TintColor =new UIColor(red: 0.55f, green: 0.76f, blue: 0.29f, alpha: 1.0f);
设置标签栏后