UITableView
像s, s 这样的元素UINavigationBar
在 iOS 7 上有不同的风格。
这种风格是在运行时确定的,因为这些类是在 上实现的UIKit
,并且UIKit
在运行时与您的应用程序动态链接,而不是在编译时静态链接。
因此,人们会认为任何在 iOS 7 上运行的应用程序都会使这些元素看起来与在 iOS 7 上的外观相同。但是,在您使用 iOS 7 SDK 编译之前,它们会保持与过去在 iOS 6 上相同的风格。除了其中一些(如UIAlertView
或UIMenuController
)
我对此的唯一解释是他们做了类似这样的事情:
#define SDKApplicationWasLinkedAgainst ...
if (SDKApplicationWasLinkedAgainst < 7.0)
...
else
...
这显然真的很麻烦,因为他们需要继续维护很多旧代码。所以我很好奇,这真的是引擎盖下发生的事情吗?我错过了什么?