iOS 에서 상태 표시 줄 의 기본 사용 방법 집합

5152 단어 ios상태 표시 줄
상태 표시 줄 과 탐색 표시 줄
상태 표시 줄:시간,배터리 등 정보 표시
탐색 표시 줄:app 페이지 제목 표시,되 돌리 기 단추 등
iOS 7 이전:상태 표시 줄 과 네 비게 이 션 표시 줄 은 분리 되 어 있 습 니 다.
iOS 7 이후:상태 표시 줄 과 네 비게 이 션 표시 줄 을 합 친다.내 비게 이 션 부분 전체 높이(64)=상태 표시 줄 높이(20)+내 비게 이 션 표시 줄 내용 높이(44)
아이 폰 X 기기 등장 이후 상태 표시 줄 높이 는 44,내 비게 이 션 표시 줄 부분 총 높이(88)=상태 표시 줄(44)+내 비게 이 션 표시 줄 내용 높이(44)
2.상태 표시 줄 숨 김 및 글꼴 스타일 설정
iOS 상태 표시 줄 은 표시 와 숨 김 을 설정 할 수도 있 고 텍스트 의 색상 을 설정 할 수도 있 습 니 다.info.plist 의 View controller-based status bar appearance 속성 을 NO 또는 YES 로 수정 함으로써 상태 표시 줄 의 설정 은 전역 제어 와 부분 제어 로 나 눌 수 있 습 니 다.
전역 제어:info.plist 설정 을 통 해 전역 방법 을 호출 합 니 다.
페이지 제어:보기 컨트롤 러 에서 prefers Status BarHidden 방법 으로 설정 합 니 다.
1.전역 제어
기본 상황 이나 수 동 으로 View controller-based status bar appearance 를 NO 로 설정 합 니 다.이 경우 상태 표시 줄 은 전역 설정 이 필요 하고 두 가지 방법 으로 설정 되 어 있 습 니 다.
방법 1:타 겟 에 순서대로 들 어 갑 니 다]->[General]->[Deployment Info],그리고 다음 과 같이 설정 할 수 있 습 니 다.

방법 2:코드 설정

//1.       (YES)   (NO)
[[UIApplication sharedApplication] setStatusBarHidden:NO];
 
//2.         
//UIStatusBarStyleDefault,  (  )
//UIStatusBarStyleLightContent,  
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
메모:코드 를 사용 하여 전역 상태 표시 줄 을 제어 합 니 다.코드 의 위 치 는 매우 중요 합 니 다.AppDelegate 에 전체 App 페이지 의 상태 표시 줄 스타일 을 설정 할 수 있 습 니 다.
한 페이지 의 숨겨 진 상태 표시 줄 을 따로 설정 하려 면 페이지 에 들 어 갈 때 숨겨 진 것 을 설정 하고 페이지 를 종료 할 때 표시 줄 을 설정 하여 다른 페이지 의 상태 표시 줄 스타일 에 영향 을 주지 않도록 해 야 합 니 다.
2.페이지 설정
info.plist 에 View controller-based status bar appearance 속성 을 YES 로 설정 하고 상태 표시 줄 은 기본적으로 표시 되 며 글꼴 은 검은색 입 니 다.이 때 전역 설정 작업 이 잘못 되 었 습 니 다.페이지 설정 이 있어 야 스타일 을 수정 할 수 있 습 니 다.즉,모든 보기 컨트롤 러 나 컨트롤 러 기본 클래스 에서 다음 코드 를 사용 할 수 있 습 니 다.

- (UIStatusBarStyle)preferredStatusBarStyle
{
 return UIStatusBarStyleLightContent; //    
 //return UIStatusBarStyleDefault; //    
}

- (BOOL)prefersStatusBarHidden {
 return YES; //       
 //return NO; //       
}
그러나 여기에 문제 가 있 습 니 다.현재 보기 컨트롤 러 가 UINavigationController 의 하위 보기 컨트롤 러 라면 preferred Status BarStyle 이 호출 되 지 않 습 니 다.이것 은 네 비게 이 션 컨트롤 러 에 있 는 preferred Status BarStyle 이 상태 표시 줄 스타일 을 수정 하 는 능력 을 가지 기 때문에 이 문 제 를 해결 하 는 방법 은 두 가지 가 있 습 니 다.
방법 1:하위 내 비게 이 션 컨트롤 러 추가
사용자 정의 하위 네 비게 이 션 컨트롤 러 를 사용 하여 다음 과 같은 코드 를 추가 해 야 합 니 다.

- (UIStatusBarStyle)preferredStatusBarStyle {
 UIViewController *topVC = self.topViewController;
 return [topVC preferredStatusBarStyle];
}
방법 2:preferred StatusBarStyle 포기
preferred Status BarStyle 방법 을 사용 하지 않 고 현재 보기 컨트롤 러 에서 다음 과 같은 방법 으로 상태 표시 줄 을 수정 할 수 있 습 니 다.

//             ,        
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;

//             ,        
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
3.상태 표시 줄 배경 색 설정
iOS 7 이후 의 상태 표시 줄 과 네 비게 이 션 표시 줄 이 하나 로 융합 되 어 있 기 때문에 기본 적 인 상황 에서 상태 표시 줄 은 네 비게 이 션 표시 줄 배경 색 의 변화 에 따라 달라 집 니 다.그래서 우 리 는 내 비게 이 션 표시 줄 을 바 꾸 어 상태 표시 줄 의 배경 색 을 수정 할 수 있다.

//               
self.navigationController.navigationBar.translucent = NO;
//                 
[self.navigationController.navigationBar setBarTintColor:[UIColor orangeColor]];
물론 상태 표시 줄 의 배경 색 을 따로 설정 할 수 있 습 니 다.예제 코드 는 다음 과 같 습 니 다.

UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow”] 
 valueForKey:@"statusBar"];
if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
 statusBar.backgroundColor = [UIColor greenColor];
}
메모:한 페이지 의 상태 표시 줄 배경 색 을 따로 설정 하려 면 페이지 를 떠 날 때 그대로 복원 해 야 합 니 다.
4.시작 페이지 숨 김 상태 표시 줄
앱 시작 페이지 에 상태 표시 줄 정 보 를 표시 하지 않 아 도 숨 김 설정 이 가능 합 니 다.설정 방법 은 여전히 info.plist 를 수정 합 니 다.Status bar is initially hidden 만 설정 하면 됩 니 다.YES 로 설정 한 후 시작 페이지 는 상태 표시 줄 을 잠시 표시 하지 않 습 니 다.다음 과 같이 작 동 합 니 다.

5.상태 표시 줄,네 비게 이 션 표시 줄 과 관련 된 일반적인 매크로 정의

#pragma mark -     
//   
#define ZS_ScreenWidth [[UIScreen mainScreen] bounds].size.width

//   
#define ZS_ScreenHeight [[UIScreen mainScreen] bounds].size.height

//        iPhoneX
#define ZS_ISIphoneX (ZS_ScreenWidth == 375.f && ZS_ScreenHeight == 812.f ? YES : NO)

//     
#define ZS_NavBarHeight (ZS_ISIphoneX ? 88.f : 64.f)

//     
#define ZS_StatusBarHeight (ZS_ISIphoneX ? 44.f : 20.f)

//       
#define ZS_NavBarContentHeight 44.0

//     
#define ZS_TabBarHeight (ZS_ISIphoneX ? 49.f + 34.f : 49.f)
관련 글:
iOS 탐색 표시 줄 사용
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기