使用swift并排布局3个uiImageView

Posted

技术标签:

【中文标题】使用swift并排布局3个uiImageView【英文标题】:Layout for 3 uiImageView side by side using swift 【发布时间】:2017-10-01 14:32:57 【问题描述】:

我想为 ios 8+ 创建一个控件,其中我们有 3 个图像。在大的中心图像和左/右图像小。

我必须使用 Stack Layout 快速创建一些代码,但它在 iOS 8 中不起作用,因为它在 ios 9 中可用。所以需要更改它。我应该用什么将图像保持在一起(左下角和右下角)?

我还有另一个问题是,我只需要在大中心图像上而不是在小左右图像上进行平移手势。所以当我触摸大图像时,我可以在屏幕上移动所有三个。目前,如果我触摸 3 个所有动作中的任何一个。

功能

小左/右图像:充当运行 swift 函数的按钮

中间图像:在平移手势上将三个全部拖动到屏幕周围

【问题讨论】:

【参考方案1】:

您有 3 种选择来根据您的要求创建图像滑块。

    使用滚动视图 (UIScrollView) 使用集合视图 (UICollectionView) 使用页面控制器

这里是简单/基本的逻辑,你应该如何以及使用什么来实现滑动图像。

使用滚动视图 (UIScrollView)

    在滚动视图中添加三个等宽的图像 根据您的要求设置中间图像的高度(大于其他) 使用 AutoLayout 约束将任何一个图像(可能是中间)的宽度设置为等于或接近等效百分比(等于 80%)到设备屏幕。 滚动视图根据水平内容大小自动水平滚动。您无需添加平移手势。 您还可以启用滚动视图的分页。

使用收藏视图 (UICollectionView)

    添加包含三个(静态)单元格或单个动态的集合视图(您需要选择将来要如何更新此功能。如果您选择单个动态单元格,则可以通过添加其数据轻松地在滑块中添加更多图像到数据源变量中,将来。) 仅在集合视图中启用水平滚动。 使用项目的索引路径 (indexPath.item == 1) 更新(使其更大)数据源方法中的图像高度。 集合视图也有平移手势。你不需要实现它。 您也可以启用分页。 注意:设置图像/单元格宽度等于设备屏幕或等效值。

使用页面控制器 这里有很好的参考教程,“如何使用页面视图控制器”

How To Create UIPageViewController Using Storyboard How to Use UIPageViewController to Build Tutorial Screens

我不推荐此选项(页面视图控制器),但您已经提供了有关您的要求范围的完整详细信息(视图控制器级别或它是简单的子视图滑块),因此这也是图像滑块的选项.

【讨论】:

我使用了另一种方法。我会将您的方法用于其他任务。现在,因为我只需要并排的 3 张图像,所以我以编程方式添加了它们。如下所示:***.com/questions/46524174/…

以上是关于使用swift并排布局3个uiImageView的主要内容,如果未能解决你的问题,请参考以下文章

2个并排UILabels的布局约束问题

2 个按钮并排

如何使用自动布局在情节提要上使网格并排 uiview 响应

SwiftUI 列表行布局

CSS 布局 - 并排居中并对齐两个 div

CSS怎么设分别置大DIV里面的3个并排小DIV靠左 居中 靠右!