2013-11-26 2 views
28

NIB 파일에서 상단 레이아웃 가이드를 추가하는 방법 또는 상단 탐색 모음 및 상태 표시 줄의 간격을 지정하여 ios 6과 iOS 7간에 문제가 발생하지 않도록하는 방법 ?NIB 파일 (XIB)의 상단 레이아웃 가이드 추가

+2

확인이 조건이 하나 http://stackoverflow.com/questions/17074365/status-bar-and-navigation-bar-appear-over-my-views-bounds-in-ios-7 – freelancer

+0

나는 다른 방법을 사용합니다. 이것을 확인하십시오 http://stackoverflow.com/a/26397943/1021628 –

답변

26

당신은 iOS7에 SDK에 edgesForExtendedLayout라는 새 속성을 구현하여이 작업을하여 할 수

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

또는

당신이 탐색 모음 다음 xcode5를 사용하는 경우 ..

인터페이스 빌더에서

선택 뷰 컨트롤러를 열고 속성 관리자로 이동하십시오. "가장자리 확장"에서. Here

+2

기술적으로, 당신은'setEdgesForExtendedLayout :'에 접근하고 있습니다. 그래서 당신은 잘못된 메소드의 응답을 다소 확인하고 있습니다. 그러나 그것은 단지 삐딱하는 것입니다. – lxcid

+1

투명 탐색 모음을 통해 볼 수있게하려는 배경이 있기 때문에이 방법은 도움이되지 않습니다. 'edgesForExtendedLayout'은 모든것을 아래로 밀어냅니다. – Jadar

-2

에서 최고 바

내가 내 문제를 해결 한

에서 확인 내가 프로그래밍을하고있는 중이 야.
ios 7과 다른 프레임 크기를 모두 확인해야하기 때문에.
상태 표시 줄의 경우 IOS 7 및 기타 20 픽셀을 관리해야하기 때문입니다. 당신이 어떤 IOS에서 원하는
때문에, 단지 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 
      { 


      } 

희망 ....

+0

이 코드의 문제점은 화면 크기에 크게 의존한다는 것입니다. 이런 종류의 일들은 자주 바뀌는 경향이 있습니다! –

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. 
    } 
관련 문제