【问题标题】:Xcode version to 9, iOS11 and works fine except iPhone x. UI got collapsedXcode 版本为 9,iOS11 并且除了 iPhone x 之外工作正常。 UI 崩溃了
【发布时间】:2017-10-18 05:46:09
【问题描述】:
  1. 我创建了两个UIView 一个headerview,第二个是UICollectionView UIScrollView 的两个子视图,我隐藏了我的NavigationBar 整个应用程序。

  2. 现在我在 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


【解决方案1】:

如果parentView 为nil(因为self.view.superviewnil),那么这意味着self.view 尚未添加到视图层次结构中。

确保包含此视图的任何视图都调用了self.addSubview(childView);这将解决“nil superview”问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多