当我点击 UIBarButtonItem 时它会一直高亮
UIBarButtonItem will be always highlight when I click it
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"这是个bug?->";
self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:68/255.0 green:155/255.0 blue:235/255.0 alpha:1.0];
self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName:[UIColor whiteColor]};
UIBarButtonItem *rightItem0 = [[UIBarButtonItem alloc] initWithTitle:@"我会变灰" style:UIBarButtonItemStylePlain target:self action:@selector(recordButtonClick)];
[rightItem0 setTintColor:[UIColor whiteColor]];
self.navigationItem.rightBarButtonItems = @[rightItem0];
}
- (void)recordButtonClick{
[self.navigationController pushViewController:[NextViewController new] animated:YES];
}
右上角的 UIBarButtonItem 始终突出显示:
为什么右上角的UIBarButtonItem“我会变灰”总是高亮?
这是 iOS 11.2 中的错误吗?
Is it a bug in iOS 11.2?
是的。根视图控制器中的右栏按钮项存在 iOS 11 错误。当您推送到下一个视图控制器并弹出时,右侧栏按钮项目变暗。
这是您在截屏视频中看到的错误。在您的代码中,您将右栏按钮项目的色调颜色设置为白色。最初,它 是 白色。但是当你push然后pop的时候,就不是白色了
我所做的是在视图控制器的 viewWillAppear
中解决这个问题,如下所示:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBar.tintAdjustmentMode = .normal
self.navigationController?.navigationBar.tintAdjustmentMode = .automatic
}
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"这是个bug?->";
self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:68/255.0 green:155/255.0 blue:235/255.0 alpha:1.0];
self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName:[UIColor whiteColor]};
UIBarButtonItem *rightItem0 = [[UIBarButtonItem alloc] initWithTitle:@"我会变灰" style:UIBarButtonItemStylePlain target:self action:@selector(recordButtonClick)];
[rightItem0 setTintColor:[UIColor whiteColor]];
self.navigationItem.rightBarButtonItems = @[rightItem0];
}
- (void)recordButtonClick{
[self.navigationController pushViewController:[NextViewController new] animated:YES];
}
右上角的 UIBarButtonItem 始终突出显示:
为什么右上角的UIBarButtonItem“我会变灰”总是高亮? 这是 iOS 11.2 中的错误吗?
Is it a bug in iOS 11.2?
是的。根视图控制器中的右栏按钮项存在 iOS 11 错误。当您推送到下一个视图控制器并弹出时,右侧栏按钮项目变暗。
这是您在截屏视频中看到的错误。在您的代码中,您将右栏按钮项目的色调颜色设置为白色。最初,它 是 白色。但是当你push然后pop的时候,就不是白色了
我所做的是在视图控制器的 viewWillAppear
中解决这个问题,如下所示:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBar.tintAdjustmentMode = .normal
self.navigationController?.navigationBar.tintAdjustmentMode = .automatic
}