在 IOS 5 中不显示颜色和数据
Posted
技术标签:
【中文标题】在 IOS 5 中不显示颜色和数据【英文标题】:Not displaying color and data in IOS 5 【发布时间】:2011-12-20 10:55:53 【问题描述】:我在 Xcode 4 中针对 ios 4.3 实现了自定义导航栏和工具栏,现在正在更新针对 iOS 5 的 xcode 4.2。在 iOS 5 中,自定义不起作用,但每当我使用 iOS 4.3 模拟器时,它都可以正常工作。
提前致谢
【问题讨论】:
对于您的问题,唯一可以给出的答案是:“出了点问题”。您没有提供足够的信息 - 您的“自定义导航栏和工具栏”在做什么?哪些“定制的东西”不起作用,它们是如何不起作用的?您是否尝试过调试设置断点并单步执行您的代码? Navigation Bar customization in ios4 doesnt work in ios5 的可能重复项 【参考方案1】:您是否使用drawRect类别方法自定义导航栏?
如果是这样我也有同样的问题,在IOS 5中drawRect方法没有被调用,IOS5现在已经内置了自定义导航栏的功能。
IOS5有一个新的外观属性可以用来自定义它,所以我做的是检查外观属性是否存在,如果存在则需要使用新的外观方法。
所以我仍然有在 IOS 版本
我的 viewDidLoad 方法如下所示,用于设置导航栏的背景:
if ([self.navigationController.navigationBar respondsToSelector:@selector(appearance)])
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"HeaderBar.png"] forBarMetrics:UIBarMetricsDefault];
您还可以使用以下代码为您的 appDelegate 中的所有导航栏设置 Appearance 对象:
if ([UINavigationBar respondsToSelector:@selector(appearance)])
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"HeaderBar.png"] forBarMetrics:UIBarMetricsDefault];
上面的代码是设置 UINavigationBar 类的外观,而不是导航栏的单个实例。这意味着 IOS 会将外观应用到所有导航栏。
【讨论】:
以上是关于在 IOS 5 中不显示颜色和数据的主要内容,如果未能解决你的问题,请参考以下文章
ScrollView 中的 UITextField 在 iOS 中不显示键盘
Whatsapp 缩略图预览在 IOS 和 OS 中显示,但在 Android 中不显示