2017-12-14 35 views
3
스토리 보드

에있는 UITableViewController 작동하지 않는 것은, 모든 뷰 컨트롤러가 아이폰 X에서 바닥 레이아웃 collpes 같은 테이블 뷰 위쪽과 아래쪽 여백을 설정 안전 영역 레이아웃 가이드이없는있는 UITableViewController 것 같다 스토리 보드의 안전 영역 레이아웃 가이드로 상한과 하한 여백을 설정합니다. UITableView 컨트롤러를 제외하고이 문제를 해결하는 데 도움을주십시오.안전 영역 레이아웃 가이드는

참조 용 iPhoneX의 스크린 샷을 첨부하고 있습니다. 거기에 문자열 "밀" 아래쪽 안전 영역 내부 피팅 볼 수 있습니다.

enter image description here

답변

4

나는 (항상 전체 화면 크기 소요) 뷰 컨트롤러의 뷰가 tableview 때문에 이런 일이 발생 믿습니다.

tableView.contentInset = UIEdgeInsetsMake(0, 0, UIApplication.shared.keyWindow!.safeAreaInsets.bottom, 0.0); 
:

어느 쪽이와

또는

설정 테이블 뷰 콘텐츠 세트를 (하단 안전 영역을 존중하고 제약 조건을 추가)를 UIViewController를 사용하고 view에서 테이블보기를 추가

후자를 사용하고 11 세 미만의 iOS 버전을 타겟팅하는 경우 다음으로 확인해야합니다.

 var safeAreaBottom: CGFloat = 0.0 
    if #available(iOS 11.0, *) { 
     safeAreaBottom = UIApplication.shared.keyWindow!.safeAreaInsets.bottom 
    } 

    tableView.contentInset = UIEdgeInsetsMake(0, 0, safeAreaBottom, 0.0); 

은 또한 아이폰 OS 11 tableview의이 속성을 발견 (하지만 설명 : /가) : insetsContentViewsToSafeArea

나는 아직 그것을 시도하지 않은하지만 당신은 그것을 시도를 제공 할 수 있습니다. 아마도 이것은 당신이 상자에서 필요로하는 것입니다

+0

나는'insetsContentViewsToSafeArea'을 시도했지만 도움이되지 않았다. 이 기사 (https://useyourloaf.com/blog/supporting-iphone-x/)에 따르면 기본적으로 '사실'입니다. –

+0

예제에 따라'tableView.contentInset'을 설정하면 매력이 생깁니다! –