使用 swift 并排布局 3 个 uiImageView

Layout for 3 uiImageView side by side using swift

我想为 ios 8+ 创建一个控件,我们有 3 张图像。在中心图像中,大图像和 left/right 图像是小图像。

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

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

函数:

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

  1. 使用滚动视图(UIScrollView
  2. 使用集合视图(UICollectionView
  3. 使用页面控制器

这里是simple/basic逻辑,你应该如何以及使用什么来实现滑动图像。

使用滚动视图(UIScrollView)

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


使用集合视图(UICollectionView

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


使用页面控制器 这里有很好的参考教程,"How to use Page View Controller"


我不推荐这个选项(页面视图控制器)但是你已经提供了关于你的要求范围的完整细节(视图控制器级别或者它是简单的子视图滑块),所以这是一个选项图像滑块也。