iPhone X를 지원하도록 앱을 조정하고 있습니다. 맞춤보기 컨트롤러가있는 공유 확장 프로그램이 있습니다. 기기의 안전 영역 인세 트를 알아야하지만 이 표시되어 있지 않으므로 UIApplication.shared.keyWindow
으로 전화하여 UIWindow
의 safeAreaInsets
메소드를 공유 확장에 사용할 수 없습니다. 내 공유 확장의 safeAreaInsets
속성 값을 알 수있는 방법이 있습니까?공유 확장 프로그램의 안전 영역 인셋 감지
6
A
답변
1
safeAreaInsets
은 모든 UIView의 속성입니다. 당신은 Share Extension에서 그것을 사용할 수 있습니다. SafeAreaInsets에 대해 UIApplication.shared.keyWindow
을 묻지 않아도됩니다. 실제로는 키 윈도우에 UINavigationController
또는 UITabBarController
이 포함되어 있기 때문에 safeAreaInsets에 영향을 미칠 수 있습니다. 당신이 당신의 UIView
계층 구조에 깊은 뷰가있는 경우
는 그 safeAreaInsets
는 계층 구조의 상위 뷰에서 찾고, 그 중 하나가보기와 중복 safeAreaInsets
이있는 경우보고에 의해 계산된다.
public override func safeAreaInsetsDidChange() {
if #available(iOS 11.0, *) {
super.safeAreaInsetsDidChange()
self.setNeedsUpdateConstraints() // or self.setNeedsLayout, etc.
}
}
: -
당신은
safeAreaInsets
은, 그러나, 찾을 수
처음 UIEdgeInsets.zero
은 싶은거야 것은 같은, UIView.safeAreaInsetsDidChange()
또는 UIViewController.viewSafeAreaInsetsDidChange()
을 구현입니다