BarButtonItems在iOS 11

时间:2017-09-21 15:09:48

标签: xamarin.ios uibarbuttonitem ios11

我有一个使用Xamarin开发的iOS应用程序。现在我正在尝试将其迁移到iOS 11.我的问题是导航栏中的BarButtonItems在任何控制器中都不可见,但它们是可用的,我可以点击它们。

通过将导航项添加到控制器中,可以在故事板中设置其中一些按钮项。这些按钮项的标题也是不可见的。甚至是标准后退按钮。

其他栏按钮项由SetRightBarButtonItem或SetLeftBarButtonItem在代码中设置。我有自定义图标按钮和系统项按钮。系统项按钮的示例是:

this.NavigationItem.SetLeftBarButtonItem(new UIBarButtonItem(UIBarButtonSystemItem.Stop, (sender, e) => { ... }), true);

和另一个自定义图标按钮:

this.NavigationItem.SetRightBarButtonItem(new UIBarButtonItem(UIImage.FromBundle("gear"), UIBarButtonItemStyle.Plain, (sender, e) => { ... }), true);

这些导航栏按钮项目长时间没有问题。如何使用iOS 11中的新导航栏结构修复它们? (我不在导航栏中启用大标题)

1 个答案:

答案 0 :(得分:0)

做这样的事。

var button = new UIBarButtonItem(UIImage.FromBundle("gear"),UIBarButtonItemStyle.Plain, (sender, e) => { ... });

button.SetTitleTextAttributes(new UITextAttributes()
            {
                TextColor = UIColor.Blue,
                TextShadowColor = UIColor.Clear
            }, UIControlState.Normal);

this.NavigationItem.SetRightBarButtonItem(button, true);