当我单击自定义tableview中的单元格时,我会显示模态视图。如何在模态视图中更改导航栏的背景颜色? 例如。我想将其更改为黑色。以下代码在prepare segue方法中不起作用。
[destinationNavController.navigationBar setBackgroundColor:[UIColor blackColor]];
或
[[UINavigationBar appearance]setBackgroundColor:[UIColor blackColor]];
或
[destinationNavController.navigationBar setTintColor:[UIColor blackColor]];
在目标Controller视图的viewDidLoad方法中我写
[self.navigationController.navigationBar setBackgroundColor:[UIColor blackColor]];
或
[[UINavigationBar appearance]setBackgroundColor:[UIColor blackColor]];
或
[self.navigationController.navigationBar setTintColor:[UIColor blackColor]];// only change the navigation item text color....
还有其他想法吗?
答案 0 :(得分:1)
这是呈现模态控制器并更改导航栏颜色的正确方法,请写下面的代码: -
[self presentModalViewController:customViewController animated:YES];
customViewController.topViewController.navigationController.navigationBar.tintColor = [UIColor blackColor];
答案 1 :(得分:1)
如果您使用的是ios 7或更高版本,则需要使用barTintColor
的{{1}}属性。
像这样:
UINavigationBar
答案 2 :(得分:0)
到目前为止,我只在iOS 11中对此进行了测试,在我的情况下,我们的应用程序是白色的,但我想呈现一个黑色的全屏幻灯片,但我仍然想要一个状态栏,白色字母和相同的黑色背景我的主要观点
第1步:使您的视图背景颜色变黑。 您的.xib或故事板中的XCode父母查看背景颜色为黑色(非常重要的一步)
第2步: 在负责此视图的视图控制器中,添加以下内容:
override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent }
这使状态文本的颜色为白色。这也适用于iPhone X.