Bug起因
由于要修改一个导航控制器下的栈顶控制器的右边栏的文本颜色,方法是这样的
UIBarButtonItem * rightBarButton =
[[UIBarButtonItem alloc]initWithTitle:@"添加" style:UIBarButtonItemStylePlain target:self action:@selector(addLicencePlateAction)];
[rightBarButton setTintColor:[UIColor redColor]];
self.navigationItem.rightBarButtonItem = rightBarButton;
这个在iOS 11 以下是好好滴,突然跑到了一个iOS 11 的手机上,就看到了这样的效果
这个问题,在iOS 11上需要进行另外一番设置,通过UINavigationBar来实现
// 设置全局NavigationBar 填充颜色
[self.navigationController.navigationBar setTintColor:[UIColor redColor]];
UIBarButtonItem *rightItem =
[[UIBarButtonItem alloc]initWithTitle:@"添加" style:UIBarButtonItemStylePlain target:self action:@selector(addCarPlates)];
self.navigationItem.rightBarButtonItem = rightItem;
运行一下效果变成这个样子。这样就没有问题了。
结论
关于这个问题,应该是iOS 11更新,系统修改了什么特性导致的。