관리 메뉴

dpTablo

iOS 7 Status Bar 와 상단 MenuBar에 대한 처리 Example 본문

OSX, iOS Flatform/iOS Programming

iOS 7 Status Bar 와 상단 MenuBar에 대한 처리 Example

Tablo@ 2014.03.26 11:17

iOS 7에서는 Status Bar 가 투명하게 처리되어 상단메뉴바와 일치감을 주기 위한 코드를 생각하다가 


아래와 같이 해보았습니다. 다른 좋은방법이 있는 경우에 이 글을 보고 계신 분께서 아이디어를 제공해주시면


감사하겠습니다. 



먼저 아래처럼 info.plist 파일의 속성을 주었습니다. 







제가 구현한 상단 메뉴바의 높이는 40px 입니다. 


하지만 아래처럼 iOS 7 인 경우에는 statusBar의 height 값을 더해 설정하였습니다. 


이 후 메뉴바상에서 표현될 컨텐츠들은 statusBar의 height 값만큼 밑에서 표현하도록 합니다. 


즉, View의 frame 속성의 origin.y 값의  statusBar의 height 값이 됩니다.


1
2
3
4
5
6
7
8
NSString *version = [[UIDevice currentDevice] systemVersion];
NSString *ios = [version substringToIndex:1];
 
if ([ios isEqualToString:@"7"] ) {
    self.size.height.value = 40 + statusBarRect.size.height;
else {
        self.size.height.value = 40;
}





화면을 double tap 할때마다 메뉴바가 Show/Hide가 되도록 구현하였는데 


이때 status Bar 도 Show/Hide 되도록 아래와 같은 메소드를 구현하고 호출하였습니다.


1
2
3
4
5
6
7
8
9
10
-(void)statusBaShowHideToggle
{
    if (self.statusBarHidden) {
        self.statusBarHidden = NO;
    } else {
        self.statusBarHidden = YES;
    }
    
    [[UIApplication sharedApplication] setStatusBarHidden:statusBarHidden];
}




메뉴가 보일때는 상단 메뉴바와 하나인 것처럼 표현하고



메뉴가 숨겨질때는 Full Screen 모드처럼 동작합니다. 

0 Comments
댓글쓰기 폼