NavigationBar처럼 사용하는 headerview라는 UIView가 있습니다. 그것은 60의 일정한 크기와 왼쪽/오른쪽 레이아웃 제한이 0입니다. 안전 영역 레이아웃으로 인해 iPhone X를 제외한 모든 장치는 괜찮아 보입니다. 크기를 90으로 변경하면 iPhone X에서는 괜찮아 보이지만 다른 장치에서는 잘못 보입니다. 아래의 코드로 안전 영역의 높이를 계산하여 높이에 추가하지만 다른 장치에서는 작아 보입니다. 이 문제를 해결하는 가장 좋은 방법은 무엇입니까?iPhone X의 안전 영역 가이드로 UIView의 높이를 계산하십시오
if (@available(iOS 11.0, *)) {
UIWindow *window = UIApplication.sharedApplication.keyWindow;
CGFloat topPadding = window.safeAreaInsets.top;
self.headerViewHeight.constant = 46 + topPadding;
}
'60 + topPadding '이 아니어야합니까? – Simon
네, 그렇지만 topPadding이 44이기 때문에 제가 좋아할 때가 있습니다. 결과는 실제 크기보다 큰 104가 될 것입니다. –