swift - 在 ScrollView 中缩放图像

标签 swift xcode uiscrollview pinchzoom zooming

我有一个 ScrollView ,里面有一些图像,我水平滚动。我想使用捏合手势进行缩放。这是我正在使用的代码,但它不起作用。我似乎无法弄清楚我做错了什么。有什么建议吗?

let scrollView = UIScrollView(frame: CGRect(x: 0, y: 100, width: UIScreen.main.bounds.size.width , height: (UIScreen.main.bounds.size.height - 140))) var frame: CGRect = CGRect(x: 0, y: 0, width: 0, height: 0)
var subView = UIImageView()
override func viewDidLoad() {
   super.viewDidLoad()
   getOfferImages()
   swipeGesture()
   setupView()
   scrollView.delegate = self
   scrollView.minimumZoomScale = 1.0
   scrollView.maximumZoomScale = 4.0
 }
 func configureScrollView(){

   scrollView.backgroundColor = UIColor.black
   scrollView.showsHorizontalScrollIndicator = false
   scrollView.isUserInteractionEnabled = true
   scrollView.clipsToBounds = true
   scrollView.bouncesZoom = true

   pageNumberlabel.text = "1 of \(offersImagesArray.count)"
   self.view.addSubview(scrollView)

   for index in 0..<images.count {

       frame.origin.x = self.scrollView.frame.size.width * CGFloat(index)
       frame.size = self.scrollView.frame.size
       subView = UIImageView(frame: frame)
       subView.tag = 1
       subView.contentMode = .scaleToFill
       subView.isUserInteractionEnabled = true
       subView.sd_setImage(with: images[index], placeholderImage: UIImage(named:""), options: [.continueInBackground])
       self.scrollView.addSubview(subView)
   }
   self.scrollView.isPagingEnabled = true
   self.scrollView.contentSize = CGSize(width: (self.scrollView.frame.size.width *  CGFloat(images.count)), height: self.scrollView.frame.size.height)

 }
 func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
  // let image = self.view.findSubview(withTag: 1)
   return self.subView
 }

最佳答案

您需要将 PinchGestureRecognizer 添加到 Storyboard,然后将其链接到如下函数。

@IBAction func scaleImage(_ sender: UIPinchGestureRecognizer) {
    self.subView.transform = self.subView.transform.scaledBy(x: sender.scale, y: sender.scale)
    sender.scale = 1
}

注意:subView 应该替换为您尝试缩放的 View 。

关于swift - 在 ScrollView 中缩放图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43609528/

相关文章:

ios - ScrollView 中的文本字段仅在键盘出现 IOS 后向上移动

ios - 在自定义 UITableViewCell 中设置 UILabel 文本时出错

ios - 在 UIView 周围绘制 CALayer 边框

ios - 模拟器+实体机上运行的APP突然黑屏

ios - 中心 didReceiveNotificationResponse 没有被调用

swift - UIScrollView 不通过编程自动布局约束滚动

iphone - ViewControler 内的导航(豪华/流行)存在于 UIScrollView 中

swift - 即使 ContentView 具有相同的大小,滚动 ScrollView

swift - 获得焦点后NSButton背景透明

ios - 如何删除 Swift 数组中的所有 nil 元素?