iOS7中的视图移动到导航栏上方,但在iOS6中工作正常

时间:2013-12-16 16:54:27

标签: ios uiview ios7

我无法让UISearchBar在iOS7上显示正常。我不能使用AutoLayout,因为我必须支持6之前的旧版iOS的应用程序。如果iOS版本为7及更高版本,我尝试设置容器视图的框架,但它不起作用。我也尝试过topLayOutGuide长度以及其他SO帖子中提到的其他提示但我无法成功。 (编辑: - 我正在使用STORYBOARD)

我目前在代码中唯一拥有的是

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
    self.edgesForExtendedLayout = UIRectEdgeNone;
}

有人可以帮我解决这个问题吗?

Screenshot of simulator top section in iOS7 Screenshot of simulator top section in iOS6

1 个答案:

答案 0 :(得分:1)

我尝试在storyboard中建议进行更改:

点按viewController,然后点按attributes inspector取消选中顶部栏

enter image description here

如果这不起作用,请尝试以下代码:

-(void)viewWillAppear:(BOOL)animated {

 NSString *ver = [[UIDevice currentDevice] systemVersion];
 int ver_int = [ver intValue];

 if (ver_int < 7) {
 }
 else {
     self.navigationController.navigationBar.translucent = NO;
 }

}