首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何更改辅助工具栏的背景色- xamarin ios

如何更改辅助工具栏的背景色- xamarin ios
EN

Stack Overflow用户
提问于 2017-09-26 12:07:44
回答 1查看 982关注 0票数 1

使用Navigation渲染器,我尝试通过设置以下内容来更改工具栏的背景颜色。

代码语言:javascript
运行
复制
this.Toolbar.BackgroundColor = Color.Yellow;

但是我的辅助工具栏颜色并没有改变。

有人可以告诉我如何在xamarin iOS中更改辅助工具栏的背景颜色吗?

EN

回答 1

Stack Overflow用户

发布于 2017-11-29 22:19:54

我是通过以下方式完成的:

代码语言:javascript
运行
复制
[assembly: ExportRenderer(typeof(NavigationPage), typeof(ExtendedNavigationRenderer))]
namespace Sample.iOS
{
    public class ExtendedNavigationRenderer : NavigationRenderer
    {
        UIToolbar _secondaryToolbar;

        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            //_secondaryToolbar = View.Subviews.OfType<UIToolbar>().FirstOrDefault(v => v.GetType() != typeof(UIToolbar));
            _secondaryToolbar = View.Subviews.OfType<UIToolbar>().FirstOrDefault();
            if (_secondaryToolbar != null)
                _secondaryToolbar.BarTintColor = this.NavigationBar.BarTintColor;
        }

        public override void ViewDidLayoutSubviews()
        {
            base.ViewDidLayoutSubviews();

            if (_secondaryToolbar != null && _secondaryToolbar.Items != null)
            {
                foreach (UIBarButtonItem item in _secondaryToolbar.Items)
                {
                    var label = item.CustomView.Subviews.OfType<UILabel>().FirstOrDefault();
                    if (label != null)
                    {
                        label.TextColor = UINavigationBar.Appearance.TitleTextAttributes.ForegroundColor;
                        //label.Font = label.Font.WithSize(12f);
                    }
                }
            }
        }

(TintColor方法带来的真实颜色与主NavigationBar略有不同,但NavigationBar.BackgroundColor为空)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46417680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档