【发布时间】:2017-12-04 07:50:36
【问题描述】:
我被要求在一个项目中提供快速帮助,并在短时间内使用 xcode 工作,我以前都没有使用过。
任务是让图片“可缩放”。经过一番研究,我发现在图像顶部放置一个 UIScrollView 就足够了。现在,由于图像视图已经存在并且集成在代码中,我不敢轻视,有一些限制,什么没有。 我不想用一个新的图像视图重新开始这个过程,然后再尝试将它连接到代码中。主要是因为图像视图位于表格视图内的表格单元格内。
我所做的是:
在故事板上
- 将图像视图放在情节提要的视图中。
- 将滚动视图的委托分配给表格单元格。
- 我不太清楚如何约束这些,所以我主要使用“添加缺失的约束”。
在 TableViewCell 的代码中
- 继承了 UIScrollViewDelegate
- 用@IBOutlet weak var scrollView 创建了一个新的var:UIScrollView!
- 由于我在控制器中,我无法覆盖 viewDidLoad 函数,因此我实现了该函数并将 minimum 和 maximumZoomScale 设置为一些值。
- 实现了一个返回 UIImageView 的 viewForZooming 函数
我想通了如何使用 ImageView 的约束和属性来调整大小和内容,但是无论我尝试做什么,我都无法让“缩放”工作。
ImageView 是否有任何属性会搞砸,我应该检查什么?
【问题讨论】:
-
我建议您构建一个带有 ImageView 的自定义 ScrollView。有了它,您可以使用 init/layoutSubviews 方法来配置滚动视图,以便它可以正确缩放分配的图像(无像素派对等)
-
由于我是新手,你的意思是按照我已经采取的步骤,还是我应该使用其他方法?
-
据我了解,您在问题中解释的内容只是将 scollView 放在图像视图上方。我的意思是,你做一个类,例如“ImageScrollView”是
UIScrollView, UIScrollViewDelegate的子类,它有一个UIImageView作为变量。 AFAIK 还有一个 Apple 教程,我会查一下。 -
在 PhotoScroller 项目中寻找 ImageScrollView.m。它在 obj-c 中,但它显示了要做什么。
-
谢谢,奇迹终于让它工作了! :-)
标签: swift xcode uiscrollview uiimageview uistoryboard