You can fully support iPhone X with a minimal iOS 8 goal. (Actually, this is what we now have in the Khan Academy app.)
What we do is apply safeAreaInsetsSwift in our code using a function #available, for example:
public override func safeAreaInsetsDidChange() {
if #available(iOS 11.0, *) {
super.safeAreaInsetsDidChange()
self.contentCatalogHeaderView?.safeAreaInsetsTopOverride = safeAreaInsets.top
self.collectionViewLayout.safeAreaInsetsTop = safeAreaInsets.top
}
}
, , , , . , Storyboard iOS 8, ( , ). , , #available.
( Objective-C , :
- (void)viewSafeAreaInsetsDidChange {
if (@available(iOS 11.0, *)) {
[super viewSafeAreaInsetsDidChange];
[self.view setNeedsLayout];
}
}