3

我刚刚将我的 Xcode 更新到 5。我正在尝试构建我的应用程序,它在 iOS7 上看起来非常好,但我的工具栏有问题。工具栏上的按钮非常靠近状态栏。如果 Ui 进行了一些更改,那么它会破坏 iOS 5 和 6 的 UI。最好的方法是什么?为 iOS 7 构建不同的故事板被认为是一种好方法?有没有其他方法可以解决工具栏的问题?

4

1 回答 1

7

最好的方法是在进行任何更改之前对 iOS 版本添加大量检查。将以下宏放在 *_prefix.pch 文件中

#define SYSTEM_VERSION_EQUAL_TO(v)                  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v)              ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v)                 ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v)     ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)

然后像这样使用 iOS 7 的特定功能:

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
    self.automaticallyAdjustsScrollViewInsets = YES;
    // or anything. Above line not specific to question, just an example
}

在 Xcode 5 Interface Builder 中,您还可以在 Size Inspector(Utilities(第三)列中的第四个选项卡)中指定 iOS 7 和 6 或更低版本之间的偏移,并在 File Inspector 中在 7 和 < 7 个渲染之间切换(第一个选项卡在实用程序列)。当您必须在 7 中的布局中考虑状态栏或导航栏时,这通常会发挥作用。

iOS 版本增量 切换效果图

于 2013-09-19T21:17:27.217 回答