3

在 videDidLoad 我有在细节视图控制器中设置导航栏的代码

UIImage *emptyImage = [UIImage new];

[self.navigationController.navigationBar setBackgroundImage:emptyImage forBarMetrics:UIBarMetricsDefault];

self.navigationController.navigationBar.shadowImage = emptyImage;    

self.navigationController.navigationBar.tintColor = [UIColor greenColor];

此详细视图将在拆分视图控制器中显示为详细信息,并在较小的设备中推送到导航堆栈,因此在这种情况下我使用 show detail segue。

在拆分视图控制器中,此详细视图控制器将导航栏显示为透明且具有正确的色调颜色,但在 iPhone 导航栏中不遵循我的设置并显示为默认颜色和样式。

你知道如何使这项工作。我猜这是因为在将导航控制器推入较小设备中的导航堆栈之前删除导航控制器的内部过程。

4

1 回答 1

0

你试过这个吗?

UINavigationController *lc_navigationController = (UINavigationController *)self.splitViewController.viewControllers.firstObject;
lc_navigationController.navigationBar.barTintColor = [UIColor greenColor];
于 2018-10-19T08:56:52.063 回答