快速捏合和缩放

Posted

技术标签:

【中文标题】快速捏合和缩放【英文标题】:pinch and zoom swift 【发布时间】:2015-11-11 11:33:44 【问题描述】:

我正在尝试对传递到控制器的图片进行捏合和缩放,该控制器还包含此处的教程中的滚动视图:

https://www.veasoftware.com/tutorials/2015/8/3/pinch-to-zoom-uiimageview-with-swift

我不确定我做错了什么。我的代码:

import UIKit
import Haneke

class imageZoomedController : UIViewController, UIScrollViewDelegate 


    @IBOutlet weak var imageView: UIImageView!
    var imageViewUrl : String?

    @IBOutlet weak var scrollView: UIScrollView!
    override func viewDidLoad()
    
        super.viewDidLoad()
        self.scrollView.minimumZoomScale = 1.0
        self.scrollView.maximumZoomScale = 6.0
        self.imageView.userInteractionEnabled = true
        if let url = NSURL(string: imageViewUrl!) 
            print("url is \(url)")
            self.imageView!.hnk_setImageFromURL(url)
        
    

    override func didReceiveMemoryWarning()
    
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    

    func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView?
    
        return self.imageView!
    



我可以在屏幕上看到图像,但捏合和缩放手势没有生效

更新

imageView 的约束:

Align center X to superView = 0
Align center Y to superView = 0
Trailing to superView = 0
Leading to superView = 0
Bottom space to superView = 0
Top space to superView = 0

scrollView 的约束:

Trailing space to superView = -20
Leading space to superView = -20
Top space to topLayoutGuide = 20
Bottom space to bottomLayoutGuide = 20
//also tried 0 for all these as per demo but same outcome

【问题讨论】:

您能重新检查一下故事板中是否正确设置了滚动视图吗? (即,自动布局/约束没有问题)? @mohonish 我的约束与示例项目中的约束相同。我会将它们作为更新添加到问题中 @mohonish 我解决了。我没有控制将 scrollView 拖到 viewController 以将其设置为委托! :) 嘿,太好了。这是我多次为自己堕落的常见错误。 :) 【参考方案1】:

我使用了相同的视频。问题是您需要将您的 scrollView 设置为委托。转到您的 IB 并控制将滚动视图拖动到视图控制器并选择委托。这应该可以解决它。

【讨论】:

以上是关于快速捏合和缩放的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 并取消缩放捏合手势

Phonegap 捏合和缩放以缩放画布

捏合和缩放 UIImage

缩放和捏合后uiwebview刷新

iPhone 和 iPad 上的 Safari 在缩放时崩溃(双击和捏合)

颤动,滚动,捏合和缩放大图像