iOS 11 업데이트 후 및 아이 폰 X 출시 후 프로젝트 중 발생 하 는 문제 및 적합 한 방법

2078 단어 iOS11iPhoneX
1.UITableView 가 미 끄 러 졌 을 때 오른쪽 슬라이더 가 길 었 다 짧 았 다 하 는 마구 뛰 기 및 MJrefresh 에서 끌 어 당 겨 서 고정 순환 을 갱신 합 니 다.
이것 은 tableView 가 iOS 11 에서 기본적으로 Self-Siging 을 사용 하기 때 문 입 니 다.tableView 의 estimated Row Height,estimated Section Header Height,estimated Section Footer Height 세 가지 높이 평가 속성 은 기본 0 에서 UITableView Automatic Dimension 으로 바 뀌 었 습 니 다.MJrefresh 의 KVO 는 잘못된 contentoffset 을 감청 하여 상 라 로 딩 작업 을 계속 할 수 있 습 니 다.
해결 방법 은 전역 적 으로 위의 3 개 속성의 기본 값 을 0 으로 설정 하면 됩 니 다.

UITableView.appearance.estimatedRowHeight = 0;
UITableView.appearance.estimatedSectionFooterHeight = 0;
UITableView.appearance.estimatedSectionHeaderHeight = 0;
2.iOS 11 에서 tableview 의 contentsize 는 기본적으로 64 높이 로 내 려 갑 니 다.
iOS 11 에서 UIViewCOntroller 의 automatically Adjusts ScrollViewInsets 속성 이 폐기 되 었 습 니 다.대신 UIScrollVIEW 의 contentInset Adjustment Behavior 속성 은 기본 값 을 변경 할 수 있 습 니 다.

if (@available(iOS 11.0, *)) {
  UIScrollView.appearance.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
  // Fallback on earlier versions
  self.automaticallyAdjustsScrollViewInsets = NO;
}
그러나 이렇게 앨범 을 호출 할 때 시스템 앨범 을 내 놓 을 때 시스템 페이지 contentSize 의 아래로 이동 을 취소 하면 큰 문제 가 발생 하기 때문에 위의 기본 값 을 특정 인터페이스 에서 삭제 하고 수정 하면 됩 니 다.
3.아이 폰 X 에서 프로젝트 가 실 행 될 때 위아래 로 커 다란 검 은 테두리 가 있다.
해결 방법:프로젝트 는 Assets 의 LaunchImage 를 사용 하기 때문에 Assets 의 LaunchImage 를 수정 하고 아이 폰 X 의 Launch 그림(1125*2436)을 추가 하면 됩 니 다.단,
iOS 11 이전에 네 비게 이 션 바 의 높이 는 64 였 는데 그 중에서 상태 표시 줄 status Bar 의 높이 는 20 이 고 밑 에 있 는 tabbar 의 높이 는 49 였 다.
iOS 11 이후 아이 폰 X 의 내 비게 이 션 바 높이 는 88 로 상태 표시 줄 의 status Bar 높이 는 44 로,아래쪽 의 tabbar 는 83 으로 바 뀌 었 다.
아이 폰 X 의 아래쪽 에 가상 홈 구역 이 추가 되 었 습 니 다.안전 구역 때문에 기본 tabBar 의 높이 가 49 에서 83 으로 34 로 높 아 졌 기 때문에 사용자 정의 아래쪽 TabBar 도 적합 한 방안 을 수정 해 야 합 니 다.
총결산
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 iOS 11 업데이트 후 아이 폰 X 출시 후 프로젝트 에서 겪 은 문제 와 어 울 리 는 문제 입 니 다.도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기