Есть такие элементы, как UITableView
s, UINavigationBar
, которые имеют другой стиль для iOS 7.
Этот стиль определяется во время выполнения, так как эти классы реализованы на UIKit
, а UIKit
динамически связана с вашим приложением во время выполнения, а не статически во время компиляции.
Итак, можно подумать, что любое приложение, запущенное на iOS 7, будет иметь эти элементы, которые выглядят так, как они выглядят на iOS 7. Однако они сохраняют тот же стиль, что и у них на iOS 6, пока вы не скомпилируете с iOS 7 SDK, За исключением некоторых из них (например, UIAlertView
или UIMenuController
)
Моим единственным объяснением этого является то, что они делают что-то вроде этого:
#define SDKApplicationWasLinkedAgainst ...
if (SDKApplicationWasLinkedAgainst < 7.0)
...
else
...
Это, очевидно, очень громоздко, потому что им нужно поддерживать много старого кода. Так что мне любопытно, это действительно то, что происходит под капотом? Что мне не хватает?