滚动视图中的自定义页面视图设计
Posted
技术标签:
【中文标题】滚动视图中的自定义页面视图设计【英文标题】:Custom page view design in scroll view 【发布时间】:2015-05-12 02:34:10 【问题描述】:我的目标
基本上,我想实现类似this:一个滑动到屏幕底部每个页面的视图。
我的背景
我开始熟悉 swift 和 storyboard,但不太了解 Objective-c 或 nib(xib)
我的尝试
一开始我就知道开启UIScrollView的PagingMode可以满足我的需求。然后我查看了 Apple 提供的 Scroll View Programming Guide for ios: Scrolling Using Paging Mode。 PageControl 示例非常接近,但它使用 nib 文件,我真的不知道如何自定义它。 我也找到了[UIPageViewController]的教程,不知道能不能调整到屏幕底部。 我搜索了各种,直到找到UIScrollView Tutorial: Getting Started。它涵盖了很多内容并且是用 swift 编写的,但它仍然只将一个 imageView 作为 contentView 放在 scrollView 中。我的问题
-
如何制作一个页面的自定义视图,作为故事板中每个页面数据的模板以及所有这些链接内容? (如果使用 nib 文件更好,欢迎参考)
如何使用滚动视图进行自动布局以满足
滚动视图只占用屏幕的底部
内容视图(一页)内的标签、按钮布局正确
如果有更简单或更好的方法来实现我的目标,请告诉我!
注意抱歉,由于缺乏声誉,链接不超过 2 个
【问题讨论】:
【参考方案1】:我可以回答#2:
确保选择了 scrollView
。现在,转到editor->pin->Leading space to superView。
对 到 superview 的底部空间 和 到 superView 的尾随空间重复此操作。
接下来,ctrl+drag 从scrollView
到超级视图本身。选择等宽。
最后,通过左键从情节提要中单击它来选择约束,或者选择scrollView
并从尺寸检查器中选择它。
将约束的constant值更改为0。将乘数更改为 0.5。确保第一项是scrollView,如果不是,请点击下拉框并颠倒第一项和第二项。
这将为您提供您想要的scrollView
:superView 高度的 0.5 倍(屏幕的一半)。
【讨论】:
我想知道你是否错过了高度的限制。您的意思是将值更改为 0 并将乘数更改为 0.5 仅应用于高度约束或所有前导、底部、尾随和相等宽度? 我指的只是等宽约束。【参考方案2】:您可以将集合视图与自定义流布局一起使用 您可以参考这个并在UICollectionViewFlowLayout 中进行更改。
这是我的定制:
【讨论】:
以上是关于滚动视图中的自定义页面视图设计的主要内容,如果未能解决你的问题,请参考以下文章
HorizontalScrollView 中的自定义视图不滚动
在滚动视图中的自定义视图中使用触摸进行缩放。 touchesMoved 未调用