当我离开iOS6时,我正在使用Xcode 4.6开发一个UISplitView应用程序:
现在我迁移到新的Xcode5,现在我有了这个设计:
UINavigationBar完全重叠我的UISearchBar ......
Leo Natan告诉我使用iOS 6/7 Deltas,但是因为我正在以编程方式创建和添加我的UISplitViewControllers,
这可能不起作用我需要以编程方式设置iOS 6/7,但我不知道如何,任何帮助我都会感激
答案 0 :(得分:18)
在iOS 7中,现在有扩展的边缘,这就是导航栏覆盖搜索栏的原因。您可以设置self.edgesForExtendedLayout = UIRectEdgeNone;
这是UIVewControlelr属性。
您还可以根据iOS版本进行检查,您可以根据设备中当前版本的iOS进行检查。
NSString *version = [[UIDevice currentDevice] systemVersion];
int ver = [version intValue];
if (ver < 7){
//iOS 6 work
}
else{
//iOS 7 related work
}
答案 1 :(得分:5)
此外,您可以使用NSFoundationVersionNumber
if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) {
// > iOS7
} else {
// <= iOS6
}
答案 2 :(得分:3)
您可以创建一个makro来解决此问题。 它对我有用。
#define iOS7Delta (([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0 ) ? 20 : 0 )
答案 3 :(得分:-2)
如果视图嵌入在UINavigationController中 - 只需在根导航栏中取消“半透明”。
在故事板中,选择导航控制器场景, 下一步选择导航栏并在属性检查器中(实用程序 - 4选项卡) 解开“半透明”