如何将 UIScrollView 添加到基于 xib 的视图中
Posted
技术标签:
【中文标题】如何将 UIScrollView 添加到基于 xib 的视图中【英文标题】:How to add a UIScrollView to a xib based view 【发布时间】:2020-03-16 08:29:23 【问题描述】:我正在尝试创建一个基于 xib 的 UIView
。
我想添加一个UIScrollView
,然后将我的内容嵌入其中,以便在不适合时滚动,反之亦然。
我创建了 xib 并添加了一个滚动视图,顶部、左侧、底部和右侧的锚点为 0。
我收到一个错误,但是高度和宽度不明确。
从历史上看,我总是在代码中构建这些视图,使用像
这样简单的东西...
scrollView.topAnchor.constraint(equalTo: safeAreaLayoutGuide.topAnchor),
scrollView.leadingAnchor.constraint(equalTo: safeAreaLayoutGuide.leadingAnchor),
scrollView.bottomAnchor.constraint(equalTo: safeAreaLayoutGuide.bottomAnchor),
scrollView.trailingAnchor.constraint(equalTo: safeAreaLayoutGuide.trailingAnchor),
...
profilePictureImageView.heightAnchor.constraint(equalToConstant: 170),
profilePictureImageView.widthAnchor.constraint(equalToConstant: 170),
collectionView.widthAnchor.constraint(equalTo: scrollView.widthAnchor),
collectionView.topAnchor.constraint(equalTo: profilePictureImageView.bottomAnchor, constant: 6),
collectionView.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor),
collectionView.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor, constant: -32),
collectionView.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor),
如何在 xib 中创建全屏滚动视图?
我看到一堆答案建议随机高度为 1000,但这似乎很奇怪,特别是因为它不需要在代码中使用这种方法。
我希望它是全宽和里面所有内容的高度。
我确实尝试将 xib 设为 UIScrollView
,但我的所有内容都被压缩到了左侧。
【问题讨论】:
【参考方案1】:尝试在 UIView 中嵌入滚动视图(具有相同的约束),或者您可以使用嵌入在滚动视图中的 StackView。
Here 很好的解释。
【讨论】:
【参考方案2】:解决问题的一种方法是禁用内容布局指南
另见:Scrollable content size ambiguity
【讨论】:
以上是关于如何将 UIScrollView 添加到基于 xib 的视图中的主要内容,如果未能解决你的问题,请参考以下文章
如何将多个 UIImageViews 添加到分页 UIScrollView?