Xcode 4.6 中 iOS7 的状态栏
Posted
技术标签:
【中文标题】Xcode 4.6 中 iOS7 的状态栏【英文标题】:statusBar for iOS7 in Xcode 4.6 【发布时间】:2013-08-22 08:58:59 【问题描述】:我想解决 ios7 中 statusBar
的问题。我找到了this post,这个解决方案在 Xcode 5 中效果很好。但是当我在 Xcode 4.6.3 中尝试这个代码时,我得到了 2 个错误:
No visible @interface for 'MyController' declares the selector
'setNeedsStatusBarAppearanceUpdate'
;
Use of undeclared identifier
'UIStatusBarStyleLightContent'
。
第一个问题已通过使用此代码解决:[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
,但我无法解决第二个错误。
【问题讨论】:
如果您针对 SDK6 构建并在 iOS7 上运行,则无需执行任何操作,因此您可以使用 respondsToSelector 查看 setNeedsStatusBarAppearanceUpdate 是否存在。仅当您针对 SDK7 构建并在 iOS7 上运行时,状态栏行为才会改变。 @ValentinShamardin 不是我,但可能是因为 iOS 7 仍受保密协议保护。 是的,周围有很多 NDA 警察,除了拍你的手腕,别无他法……!! ,但是您没有透露任何人不费吹灰之力就无法发现的任何内容。 【参考方案1】:这些是在 XCode 4.6.3 中无法编译的 iOS 7 功能,而 XCode 4.6.3 正在尝试针对 iOS 6 进行编译。您需要有条件地将它们编译出来。
用以下代码包装有问题的代码:
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000
//iOS 7 only stuff here
#endif
【讨论】:
以上是关于Xcode 4.6 中 iOS7 的状态栏的主要内容,如果未能解决你的问题,请参考以下文章