iOS 상태 표시 줄 의 표시 와 숨겨 진 예제 코드
우 리 는 xcode 를 사용 하여 iOS 프로젝트 를 새로 만 들 었 습 니 다.기본 적 인 상황 에서 상태 표시 줄 이 표 시 됩 니 다.
컨트롤 러 상태 표시 줄 숨 기기
가장 간단하게 숨 기 는 방법 은 다음 코드 를 사용 하 는 것 입 니 다.
- (BOOL)prefersStatusBarHidden {
returnYES;
}
전역 숨 김 상태 표시 줄위의 코드 는 확실히 대응 하 는 컨트롤 러 의 상태 표시 줄 을 숨 겼 지만 대부분 상황 에서 우리 의 프로젝트 에는 컨트롤 러 가 많 습 니 다.이러한 설정 은 약간 아 픕 니 다.우 리 는 전체 설정 을 할 수 있 습 니 다.위의 코드 를 설명 하고
Appdelegate
의didFinishLaunchingWithOptions
에 다음 코드 를 추가 하여 실행 합 니 다.
[[UIApplicationsharedApplication] setStatusBarHidden:YES];
결 과 는 좀 어색 하고 상태 표시 줄 이 남아 있 습 니 다.info.plist 를 열 어 인 자 를 찾 습 니 다.View controller-based status bar appearance
。말 그대로 이 매개 변 수 는 우리 프로젝트 상태 표시 줄 의 숨 김 이 각 컨트롤 러 의 설정 을 기준 으로 하 는 지 여 부 를 결정 합 니 다(각자 의 정치 또는 통일 관리).NO 로 설정 하고 다시 실행 합 니 다.응,이번 엔 우리 가 원 하 는 결과 야.이 럴 때 주석
[[UIApplicationsharedApplication] setStatusBarHidden:YES];
이 초기prefersStatusBarHidden
방안 으로 돌아 가면 상태 표시 줄 숨 김 이 잘못 되 었 음 을 발견 할 수 있 습 니 다.이 럴 때 우리 프로젝트 의 상태 표시 줄 은 통일 관리 에 복종 하고 구체 적 인 컨트롤 러 설정 이 잘못 되 었 기 때 문 입 니 다.시작 페이지 상태 표시 줄 숨 기기
눈치 빠 른 학생 들 은 우리 가 설정 한
[[UIApplication sharedApplication] setStatusBarHidden:YES]
과View controller-based status bar appearance
->NO 이후 app 이 시작 페이지 를 보 여 주 는 과정 에서 상태 표시 줄 이 여전히 표시 되 어 있 는 것 을 발견 할 수 있 습 니 다.어?사실 맞 아.우리 가didFinishLaunchingWithOptions
에 있 으 니까 숨 기 는 거 잖 아.그러면 시작 과정의 상태 표시 줄 을 어떻게 숨 깁 니까?다시 info.plist 를 엽 니 다.이번 에는Status bar is initially hidden
다시 말 그대로...알 잖 아,YES 로 설정 하고 실행 해,빙고!상태 표시 줄 귀신 보 러 가자."대응 하 는 설정 을 하지 않 은 상태 에서 시작 페이지 전시 과정 에서 상태 표시 줄 의 표시 줄 과 시작 후 상태 표시 줄 의 표시 줄 은 상대 적 으로 독립 되 어 있 습 니 다.시작 후 상태 표시 줄 의 숨겨 진 설정 은 위 참조:pointup_2:2 시야.기본적으로 코드 설정 이 없 으 면View controller-based status bar appearance
->YES 시 시 시 작 된 상태 표시 줄 이 기본적으로 표 시 됩 니 다.그렇지 않 으 면Status bar is initially hidden
상 태 를 따 릅 니 다.전역 숨겨 진 상황 에서 의 개별 전시
그렇다면 문제 가 생 겼 다.만약 에 우리 가 전체 설정 을 통 해 상태 표시 줄 을 숨 겼 고 프로젝트 에 한두 개의 제어 편향 기 가 상태 표시 줄 을 보 여 줘 야 한다 면 어떻게 해 야 합 니까?
이런 상황 에서'거시적인 조절'이 필요 하 다.'전체'의 구 덩이 는'전체'로 메 워 야 한다.우 리 는 숨겨 야 할 컨트롤 러 안의
viewWillAppear
방법 에 설정[[UIApplicationsharedApplication] setStatusBarHidden:YES]
할 수 있다.물론 우리 의 다른 컨트롤 러 상태 표시 줄 에 영향 을 주지 않 기 위해viewWillDisappear
안에 이 를 진입 전의 상태[[UIApplicationsharedApplication] setStatusBarHidden:<#before status#>]
로 설정 해 야 한다.요약:
View controller-based status bar appearance
제어 App 상태 표시 줄 은 전역 설정(NO)또는 각 컨트롤 러 가 각각 설정(YES)을 받 습 니 다.[[UIApplicationsharedApplication]setStatusBarHidden:hidden]
,View controller-based status bar appearance == NO
조건 하에 서 만 효력 이 발생 한다.해당prefersStatusBarHidden
은 부분 설정 항목 으로 대응 하 는 컨트롤 러 상태 표시 줄 을 제어 하려 면View controller-based status bar appearance == YES
에 있어 야 효력 이 발생 합 니 다.시작 페이지 전시 과정의 상태 표시 줄 을 숨 길 수 있 도록 설정Status bar is initially hidden -> YES
합 니 다.demo
오늘 은 여기까지 하 자,빨리 디자이너 와 심 부 름 하 자.무슨 잘못 과 누락 이 있 으 면 지적,보충 을 환영 합 니 다.()/
PS:와 주 라 카 의 교정 에 감 사 드 립 니 다.글 에서 해당 하 는 오류 와 부당 한 설명 이 수정 되 었 습 니 다.시작 페이지 전시 과정 에서 상태 표시 줄 의 현 은 은 상대 적 으로 독립 적 이 고 주로
Status bar is initially hidden
의 설정 에 달 려 있 습 니 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
View의 레이아웃 방법을 AutoLayout에서 따뜻한 손 계산으로 하면 성능이 9.26배로 된 이야기이 기사는 의 15 일째 기사입니다. 어제는 에서 이었습니다. 손 계산을 권하는 의도는 없고, 특수한 상황하에서 계측한 내용입니다 화면 높이의 10 배 정도의 contentView가있는 UIScrollView 레이아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.