在 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
属性并手动处理滚动视图的 contentInset
和 scrollIndicatorInsets
属性(如果您不想更改约束,请将它们设置为 UIEdgeInsetsZero
)。
【讨论】:
以上是关于在 ScrollView 的 ContentView 中拉伸 UIView的主要内容,如果未能解决你的问题,请参考以下文章
ScrollView 在 Xamarin Forms 中的另一个 ScrollView 内
NestedScrollView/ ScrollView 在某些布局包含到 ScrollView 的子项时不滚动