在 ScrollView 的 ContentView 中拉伸 UIView

Posted

技术标签:

【中文标题】在 ScrollView 的 ContentView 中拉伸 UIView【英文标题】:Stretch UIView in a ContentView of a ScrollView 【发布时间】:2016-04-15 07:55:48 【问题描述】:

我有以下问题:

我有一个带有自动布局的 Scrollview 顶部、左侧、底部、右侧设置为 0,在此 ScrollView 中是一个 ContentView 也将所有内容设置为 0。 ContentView 包含一个 ImageView 一个分段控件和一个连接到 2 个不同的 UIView UIViewController。

UIView 的顶部 0 设置为分段控件,底部 0 设置为 contentView。

我的问题是 ContentView 中的 UIView 不是 ContentView 底部的街道。我该如何解决这个问题?

图一: Storyboard UIViewController with ScrollView

图2: View on an iPhone 6 Plus

这里有size inspector约束图片:

ScrollView

MainView of Controller

ContentView in ScrollView

UIView in ContentView

【问题讨论】:

你能显示关于你的元素的尺寸检查器限制吗?随便拍几张吧。。 MainView of Controller, ScrollView ContentView in ScrollView, UIView in ContentView 问题是 ContentView 的高度不正确。但是使用 Constaint 0 它应该与 ScrollView 具有相同的高度,否则我不正确? 【参考方案1】:

似乎问题出在滚动视图底部内容插图中。默认情况下,滚动视图启用automaticallyAdjustsScrollViewInsets 属性,如果您将滚动视图插入为离标签栏最近的视图(正如我在屏幕截图中看到的那样),底部插图将设置为非零(这用于在滚动时在透明标签栏下显示内容)。但是要正确使用此行为,您应该将滚动视图底部连接到view(根视图)底部,而不是bottomLayoutGuide。第二个选项 - 禁用 automaticallyAdjustsScrollViewInsets 属性并手动处理滚动视图的 contentInsetscrollIndicatorInsets 属性(如果您不想更改约束,请将它们设置为 UIEdgeInsetsZero)。

【讨论】:

以上是关于在 ScrollView 的 ContentView 中拉伸 UIView的主要内容,如果未能解决你的问题,请参考以下文章

ScrollView 在 Xamarin Forms 中的另一个 ScrollView 内

NestedScrollView/ ScrollView 在某些布局包含到 ScrollView 的子项时不滚动

ios的scrollview嵌套webview,解决事件冲突

在 ScrollView 中将按钮与底部对齐

如何在scrollview的顶部固定一个控件

如何在StoryBoardxib上使用AutoLayout+ScrollView