App 의 iOS 7 상단 상태 표시 줄 어댑터 문 제 를 해결 하 는 방법 설명
xcode 로 새 항목 을 만 든 후 IOS 7 과 IOS 6 의 실행 효 과 를 먼저 봅 니 다.
ps:empty application 에 rootcontroller 가 추가 되 었 습 니 다.window 의 루트 컨트롤 러 로 view 에 tableview 를 넣 었 습 니 다.
IOS 7 의 새로운 문제 에 부 딪 혔 는 지 상태 표시 줄 이 tableview 와 겹 쳤 습 니 다.OK.보고 싶 지 않 은 결 과 를 보고 본 격 적 으로 싫 은 효 과 를 해결 하 겠 습 니 다.
첫 번 째 단계:xib 의 Use Autolayot 를 선택 하지 마 십시오.다음 그림:
두 번 째 단계:두 번 째 단계:View as"ios 6.1 and Earlier"를 선택 하 시 겠 습 니까?위의 그림 위치 로 선택 하 시 겠 습 니까?
세 번 째 단계:Size Inspector 에 ios 6/7 Deltas 가 있 습 니 다.각각 PosX 의 증 가 량,PosY 의 증 가 량,너비 증 가 량,높이 증 가 량 을 나타 냅 니 다.
ps:"ios 6.1 and Earlier"모드 에서 status bar 의 높이 가 20 이기 때문에 app 이 ios 7.0 모드 에서 실 행 될 때 view 가 20 픽 셀 을 아래로 이동 해 야 하기 때문에ΔY 에서 20 으로 설정 합 니 다.
tableView 좌표 가 20 아래로 이동 합 니 다.전체 화면의 높이 가 변 하지 않 기 때문에'ios 7.0 and Later'모드 에서 tableView 의 높이 를 20 픽 셀 로 줄 여야 합 니 다.즉,'ios 6.1 and Earlier'모드 에서 tableView 를 설정 해 야 합 니 다.ΔHeight 는-20 입 니 다.하면,만약,만약...ΔHeight,tableView 아래쪽 에 20 픽 셀 이 보이 지 않 습 니 다.demo 를 테스트 해 볼 수 있 습 니 다.
***주**:Δ,정 수 는 증 가 를 나타 내 고,음 수 는 감 소 를 나타 낸다.
네 번 째 단계:ok,설정 완료,IOS 에서 효과 보기:
신기 한 발견 이 예전 에 본 것 처럼 발 을 재촉 하 는 거 아 닐 까...................................................이렇게'ios 6.1 and Earlier'와'ios 7.0 and Later'UI 레이아웃 이 통일 되 었 습 니 다.
다른 방법
위 에서 XIB 의 설정 을 통 해 상태 표시 줄 과 view 가 겹 치 는 문제 에 이 르 렀 습 니 다.다음은 네트워크 전송 을 수정 하 는 window frame 방법 을 말씀 드 리 겠 습 니 다.
이전 단계:
첫째:appdeletage 에 다음 코드 를 추가 합 니 다.
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
self.window.frame = CGRectMake(0.0f,20.0f,self.window.frame.size.width,self.window.frame.size.height-20.0f);
}
2.info.plist 파일 에 속성:View controller-based status bar appearance 값 을 NO 로 설정 합 니 다.아래 효과 보기:
다음 그림 을 보면 질문 하 나 를 발견 할 수 있 습 니 다.
이것 은 무슨 원인 으로 인 한 것 입 니까?나 는 window 로 인해 548 이 528 로 바 뀌 었 다 는 것 을 알 게 되 었 다.그러나 table view 의 높이 는 548 로 20 개의 픽 셀 이 표시 되 지 않 는 다 는 것 을 알 게 되 었 다.그럼 어떤 동창 회 에 서 는 528 로 바 꾸 면 되 잖 아 요.네,고 칠 수 있어 요.고 친 후에 IOS 7 에 픽 셀 이 부족 한 문제 가 없 는 것 을 발 견 했 어 요.그런데 IOS 6 에 서 는 반 이 부족 해 요.다음 그림 을 보 세 요.
그래서 제 가 직접 테스트 를 해 봤 는데 IOS 7 과 IOS 6 에 맞 추 려 면 말 이 안 됩 니 다.
마지막 으로 몇 개의 명사 설정 의 역할 을 설명 합 니 다.
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
- (BOOL)prefersStatusBarHidden
{
return NO;
}
plist 에 View controller-based status bar appearance 설정 값 을 YES 로 설정 합 니 다.이러한 역할 은 controller 를 바탕 으로 status bar 의 숨 김 과 스타일 을 동적 으로 제어 하 는 것 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.