ScrollView中的图像不可滚动

时间:2017-06-30 11:06:12

标签: swift xcode uiscrollview uiimageview uistoryboard

我被要求在swift的项目中提供帮助,并在很短的时间内使用xcode工作,这与我之前没有合作过。

任务是让照片成为可缩放的"。经过一些研究后,我发现将UIScrollView放在图像上就足够了。现在,由于图像视图已经存在并且集成在一个级别的代码中,我不敢狡猾,有一些约束,什么不是。 我不想用新的图像视图开始整个过程​​,然后尝试将其挂钩到代码中。主要是因为图像视图位于表视图内的表格单元格内。

我所做的是:

在故事板上

  • 将图片视图放在故事板上的视图中。
  • 将滚动视图的委托分配给表格单元格。
  • 我无法弄清楚如何约束这些因此我主要使用'添加缺失的约束'。

在TableViewCell的代码中

  • 继承了UIScrollViewDelegate
  • 使用@IBOutlet弱var scrollView创建了一个新的var:UIScrollView!
  • 由于我在控制器中,我无法覆盖viewDidLoad函数,所以我实现了它并将minimum和maximumZoomScale设置为某些值。
  • 实现了一个返回UIImageView
  • 的viewForZooming函数

我在某种程度上想出了如何使用ImageView的约束和属性来调整大小和内容,但无论我尝试做什么,我都无法得到" zoom"工作。

ImageView可能有什么属性搞乱这个,我应该检查什么?

1 个答案:

答案 0 :(得分:1)

阅读并试图弄清楚,最终使它成功的是:

  • ScrollView Interface Builder 中成为 ImageView
  • 的父级
  • 我神奇地制定了约束,以适应 ScrollView 与其周围的所有内容对齐,主要是在出现约束错误提示时添加缺失约束
  • 右键点击 ScrollView ,然后点击代表,点击 + 符号并将其拖至UITableViewCell。
  • 我也为引用插座
  • 做了同样的事情
  • UITableViewCell 的代码是这样的:

    class ClothesItemTableViewCell: UITableViewCell, UIScrollViewDelegate {
      @IBOutlet weak var scrollView: UIScrollView!
      var theImage: UIImage? {
         set {
            clothinhImageView.image = newValue
        } get {
           return clothingImageView.image
        }
      }
    
      func viewForZooming(in scrollView: UIScrollView) -> UIView? {
         return clothingImageView
      }
    }
    

可能不太清楚,我无法找到完成工作的确切文章。但是有很多尝试以不同的方式解决这个问题,并且不知何故这有效。希望有人帮忙!