滚动视图中的自定义页面视图设计

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 ModePageControl 示例非常接近,但它使用 nib 文件,我真的不知道如何自定义它。 我也找到了[UIPageViewController]的教程,不知道能不能调整到屏幕底部。 我搜索了各种,直到找到UIScrollView Tutorial: Getting Started。它涵盖了很多内容并且是用 swift 编写的,但它仍然只将一个 imageView 作为 contentView 放在 scrollView 中。

我的问题

    如何制作一个页面的自定义视图,作为故事板中每个页面数据的模板以及所有这些链接内容? (如果使用 nib 文件更好,欢迎参考) 如何使用滚动视图进行自动布局以满足 滚动视图只占用屏幕的底部 内容视图(一页)内的标签、按钮布局正确 如果有更简单或更好的方法来实现我的目标,请告诉我!

注意抱歉,由于缺乏声誉,链接不超过 2 个

【问题讨论】:

【参考方案1】:

我可以回答#2:

确保选择了 scrollView。现在,转到editor->pin->Leading space to superView

到 superview 的底部空间到 superView 的尾随空间重复此操作。

接下来,ctrl+dragscrollView 到超级视图本身。选择等宽

最后,通过左键从情节提要中单击它来选择约束,或者选择scrollView 并从尺寸检查器中选择它。

将约束的constant值更改为0。将乘数更改为 0.5。确保第一项是scrollView,如果不是,请点击下拉框并颠倒第一项和第二项

这将为您提供您想要的scrollView:superView 高度的 0.5 倍(屏幕的一半)。

【讨论】:

我想知道你是否错过了高度的限制。您的意思是将值更改为 0 并将乘数更改为 0.5 仅应用于高度约束或所有前导、底部、尾随和相等宽度? 我指的只是等宽约束。【参考方案2】:

您可以将集合视图与自定义流布局一起使用 您可以参考这个并在UICollectionViewFlowLayout 中进行更改。

这是我的定制:

【讨论】:

以上是关于滚动视图中的自定义页面视图设计的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 中滚动的自定义视图

Horizo​​ntalScrollView 中的自定义视图不滚动

在滚动视图中的自定义视图中使用触摸进行缩放。 touchesMoved 未调用

当我在收藏视图中滚动时,我的自定义单元格中的 UIView 锚点不断变化

自定义视图在滚动视图内滚动

表格单元格内的滚动视图内的自定义视图未响应事件