无法使用 Show Detail Segue 自定义 UINavigationBar

Posted

技术标签:

【中文标题】无法使用 Show Detail Segue 自定义 UINavigationBar【英文标题】:Can't customize UINavigationBar in with Show Detail Segue 【发布时间】:2015-03-04 12:20:40 【问题描述】:

在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 导航栏中不遵循我的设置并显示为默认颜色和样式。

您知道如何进行这项工作吗?我猜这是因为内部进程在将导航控制器推入较小设备的导航堆栈之前删除了导航控制器。

【问题讨论】:

我也有同样的问题,你解决了吗? 【参考方案1】:

你试过了吗?

UINavigationController *lc_navigationController = (UINavigationController *)self.splitViewController.viewControllers.firstObject;
lc_navigationController.navigationBar.barTintColor = [UIColor greenColor];

【讨论】:

以上是关于无法使用 Show Detail Segue 自定义 UINavigationBar的主要内容,如果未能解决你的问题,请参考以下文章

uicollectionview segue to detail viewcontroller swift

将数据从 VC 传递到 VC segue

iOS:让segue等待登录成功

Receiver MainVIewController 没有 segue iOS

是否可以在带有代码的滚动视图中嵌入 segue/包含视图?

使用FBSDK登录,无法执行segue