在 scrollView 内的 contentView 上设置约束
Posted
技术标签:
【中文标题】在 scrollView 内的 contentView 上设置约束【英文标题】:setting constraints on contentView inside scrollView 【发布时间】:2015-09-18 06:25:22 【问题描述】:对于我的项目,我需要制作一个距顶部 64 pt 高度的自定义菜单。因此,默认导航栏可见性设置为 false。在此菜单下,我有一个 ScrollView,其中包含一个 ContentView,我将在其中放置所有 UI 项。 ContentView 的原点位于 ScrollView 内部,是 (0,0)。问题是,当我从 SrcollView 顶部离开 20 pt 空间后运行项目时,正在显示 ContentView。
这里是示例项目链接:https://drive.google.com/file/d/0BzhZns5G0PXhN2lNSjF6XzNmTTg/view?usp=sharing
【问题讨论】:
【参考方案1】:这是滚动视图和表格视图中常见的问题。添加这行代码来解决它:
self.automaticallyAdjustsScrollViewInsets = false;
【讨论】:
谢谢它解决了这个问题。但是你能解释一下,如果我们不将它设置为 false 为什么它总是出现在 20 pt 之后。这是状态栏的大小【参考方案2】:从您的代码中删除它:
var gg:CGSize = CGSize(width: self.contentView.frame.width, height: self.contentView.frame.height)
self.scrollView.contentSize = gg
并添加这一行而不是那个代码:
scrollView.contentInset = UIEdgeInsets(top: -20, left: 0, bottom: 0, right: 0)
【讨论】:
这解决了问题,但是当我们知道它从0开始时设置前-20是否正确【参考方案3】:我已为您进行了更改,请使用它。 https://drive.google.com/file/d/0B97G6aGaHcoYNUVtMmN1b1dUR2M/view?usp=sharing
【讨论】:
以上是关于在 scrollView 内的 contentView 上设置约束的主要内容,如果未能解决你的问题,请参考以下文章
TouchableOpacity 内的 ScrollView
android: ScrollView 内的 RecyclerView
ViewPager 中片段内的 ScrollView 内的 HorizontalListView
基维。 GridLayout 在 ScrollView 内的位置