【发布时间】:2017-10-18 05:46:09
【问题描述】:
我创建了两个
UIView一个headerview,第二个是UICollectionViewUIScrollView的两个子视图,我隐藏了我的NavigationBar整个应用程序。现在我在 iOS11 中为设置 "SafeAreaLayoutGuides" 添加了以下代码,但由于发现 superview nil,此处的应用程序很糟糕。
我已经添加了下面的代码。
UIView *parentView = self.view.superview;
UIView *childView = scrollViewMain.superview;
childView.translatesAutoresizingMaskIntoConstraints = NO;
NSLayoutConstraint *topConstraint;
NSLayoutConstraint *bottomConstraint;
if (@available(iOS 11, *)) {
topConstraint = [NSLayoutConstraint constraintWithItem:childView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:parentView.safeAreaLayoutGuide attribute:NSLayoutAttributeTop multiplier:1.0 constant:0];
bottomConstraint = [NSLayoutConstraint constraintWithItem:childView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:parentView.safeAreaLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0];
} else {
topConstraint = [NSLayoutConstraint constraintWithItem:childView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:parentView attribute:NSLayoutAttributeTop multiplier:1.0 constant:0];
bottomConstraint = [NSLayoutConstraint constraintWithItem:childView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:parentView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0];
}
[parentView addConstraint:topConstraint];
[parentView addConstraint:bottomConstraint];
【问题讨论】:
-
代码在哪里??
-
对不起...我刚刚更新了。@RonakThakkar
-
我在 iOS11 中遇到了一些问题。
-
你什么时候打电话给这个?从笔尖醒来?视图加载?视图会出现吗?您收到的确切错误消息是什么,它出现在哪里?编译结果?控制台日志?
-
关于 viewWillAppear 方法。
标签: objective-c uiscrollview ios11 iphone-x safearealayoutguide