在NIB文件(XIB)中添加顶部布局指南

时间:2013-11-26 05:29:20

标签: ios iphone ios7 autolayout

如何在NIB文件中添加顶部布局指南或如何从顶部导航栏和状态栏指定空间,以便它不会在ios 6和iOS 7之间产生问题?

3 个答案:

答案 0 :(得分:26)

您可以通过在iOS7 SDK中实现名为edgesForExtendedLayout的新属性来实现此目的

-(void)viewDidLoad {
      if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
         self.edgesForExtendedLayout = UIRectEdgeNone;
}

如果您正在使用导航栏和xcode5,那么..

在Interface Builder中,选择视图控制器,然后导航到属性检查器。在“延伸边缘”。检查顶部栏下

我已经从Here

解决了我的问题

答案 1 :(得分:2)

我认为你需要为此编写这个条件

 float SystemVersion=[[[UIDevice currentDevice] systemVersion] floatValue];
  if(SystemVersion<7.0f)
   {
     //Currently your app is running in IOS6 or older version. So you need not 
             to do anything.
   }
  else
   {
     // Currently your app is running in IOS7.
   } 

答案 2 :(得分:-2)

我是以编程方式进行的。
因为你必须检查ios 7和其他的两种框架尺寸 因为状态栏你必须管理IOS 7和其他的20像素 所以,只需在任何IOS中将View放入XIB中,您可以通过此方式管理其他...

CGSize result = [[UIScreen mainScreen] bounds].size;
        if(result.height == 480)
        {
   NSArray *vComp = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
            if ([[vComp objectAtIndex:0] intValue] >= 7) {
                NSLog(@"Ios7 resize the frame");

            }
            else
            {


            }

}

        if(result.height == 568)
        {
  NSArray *vComp = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
            if ([[vComp objectAtIndex:0] intValue] >= 7) {
                NSLog(@"Ios7 resize the frame");


            }
            else
            {


            }

希望这会有所帮助......