【问题标题】:IOS9: UIScrollView offset in UINavigationControllerIOS9:UINavigationController 中的 UIScrollView 偏移
【发布时间】:2016-02-05 03:28:43
【问题描述】:

这真是令人沮丧。我遇到了 UINavigationController(以及 UINavigationBar)将我的 UIScrollView 的内容向下推到顶部的问题,类似于此处发现的问题:

iOS 7 -- navigationController is setting the contentInset and ContentOffset of my UIScrollView

IOS7 : UIScrollView offset in UINavigationController

我尝试了两种推荐的解决方案,即在我的视图控制器的 viewDidLoad() 方法中设置 self.automaticallyAdjustsScrollViewInsets = true 并在 Interface Builder 中取消选择 Adjust Scroll View Insets。两种解决方案都删除了顶部的边距,但正如其他一些人所指出的,我不能再滚动了。

UIScrollView 和 ContentView 填充整个视图控制器。我的内容视图(在 UIScrollView 内)在底部包含标签、段和 UITextView。和Content View中的内容有关系吗?

如果需要,我可以附上图片。使用 XCode 7、Swift 2 和 iOS 9。

【问题讨论】:

  • 我解决了我的问题。在自动布局中,我没有设置内容视图的高度约束。我将内容视图的底部固定到包含 UIScrollView 的视图控制器上。我移除了那个别针并明确设置了高度。现在可以使用了。

标签: ios uiscrollview uinavigationcontroller uinavigationbar


【解决方案1】:

我解决了我的问题。在自动布局中,我没有设置内容视图的高度约束。 以前,我将内容视图的底部固定到包含 UIScrollView 的视图控制器上。 我移除了那个别针并明确设置了高度。现在可以了。

【讨论】:

    【解决方案2】:

    我刚刚遇到了同样的问题。我有一个“关于”视图,其中包含一堆包含静态文本的标签。我在视图控制器中有一个 UIScrollView,它被按下了。我在屏幕底部固定了一个标签,当没有必要这样做时,该标签被从页面中提取出来。

    我有以下视图层次结构:

    • 视图控制器
      • 查看
      • 滚动视图
        • 内容视图 (UIView)
        • 标签
        • 标签

    Content View 被固定在Scroll View 的边界上,但宽度和高度与View 具有相同的约束。

    我通过添加另一个UIView 作为View 的子级解决了这个问题。我的层次结构现在看起来像这样:

    • 视图控制器
      • 查看
      • 内视图 (UIView)
      • 滚动视图
        • 内容视图 (UIView)
        • 标签
        • 标签

    我将Content View 的高度限制设置为与Inner View 相同的高度。这解决了我的问题,一切都开始正确显示。 Inner View 固定在 View 的边界上。

    注意:在层次结构中,Labels 应该是 Content View 的子级。在预览中,它显示 Markdown 列表不能深入。

    【讨论】:

      【解决方案3】:

      可能适用于您,也可能不适用于您,但如果您有一个导航控制器并且您不需要它是半透明的,您可以按照self.navigationController.navigationBar.translucent = NO; 的方式做一些事情

      这可能对您的奇数偏移有所帮助。

      【讨论】:

      • 我试了一下,但无济于事。如果我将该属性设置为 false,它仍然会向下推送内容,无论 Adjust Scroll View Insets 设置为什么。
      猜你喜欢
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 2016-07-08
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多