ios - 使用 swift 并排布局 3 个 uiImageView

标签 ios swift uiimageview ios8

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

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

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

函数:

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

  • 中图:在平移手势上将所有三个拖动到屏幕周围

enter image description here

最佳答案

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

  1. 使用 ScrollView (UIScrollView)
  2. 使用 Collection View (UICollectionView)
  3. 使用页面 Controller

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

使用 ScrollView (UIScrollView)

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


使用 Collection View (UICollectionView)

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


使用页面 Controller 这里有很好的引用教程,“如何使用页面 View Controller ”


我不推荐这个选项(页面 View Controller )但是你已经提供了关于你的要求范围的完整细节( View Controller 级别或者它是简单的 subview slider ),所以这是图像 slider 的一个选项还有。

关于ios - 使用 swift 并排布局 3 个 uiImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46513403/

相关文章:

iOS:Airplay 选择器 MPVolumeView 替代品

swift - 如何使用此代码向图像添加水印?

ios - 如何在选择 tableviewcell 时运行函数(例如,按下单元格时更新 UIImageView)

matlab - 如何使用 MATLAB 将网页转换为图像?

ios - 如何通过在其上拖动 UIImageView 来获取 UITableView 的行索引

ios - PubNub 发布订阅如何在 iOS 内部工作(客户端)

ios - 使用 ZBar 扫描 VIN 条码添加额外的 "I"字符

ios - 添加 UIBarButtonItem 覆盖 UINavigationController 后退按钮

macos - 使用 init(rect :inTexture:)?) 时我的 Sprite 发生了什么

ios - 导航栏中的渐变与其下方的 View 不同。