【问题标题】:Scrollview won't zoom滚动视图不会缩放
【发布时间】:2016-10-13 22:21:33
【问题描述】:

除了我无法放大图像视图之外,一切都完美无缺。

var zoomingImageView = UIImageView()
var startingFrame : CGRect?
var blackBackground : UIScrollView?
var startingImageView: UIImageView?

这是我在其中设置滚动视图和图像视图的地方

func performZoomingForStartImageView(imageView: UIImageView){


    if let keyWindow = UIApplication.shared.keyWindow {

        blackBackground = UIScrollView(frame: CGRect(x: self.view.frame.origin.x, y: self.view.frame.origin.y, width: self.view.frame.size.width, height: self.view.frame.size.height))
        blackBackground?.delegate = self
        blackBackground?.maximumZoomScale = 4.0
        blackBackground?.minimumZoomScale = 1.0
        blackBackground?.isScrollEnabled = true
        blackBackground?.backgroundColor = .black
        blackBackground?.alpha = 0.0
        blackBackground?.isUserInteractionEnabled = true
        blackBackground?.contentSize = CGSize(width: 0, height: self.view.frame.size.height)
        keyWindow.addSubview(blackBackground!)

        self.startingImageView = imageView
        self.startingImageView?.isHidden = true
        startingFrame = imageView.superview?.convert(imageView.frame, to: nil)

        zoomingImageView = UIImageView(frame: startingFrame!)
        zoomingImageView.image = startingImageView?.image
        zoomingImageView.contentMode = .scaleAspectFit
        zoomingImageView.isUserInteractionEnabled = true
        zoomingImageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.handleZoomOut)))
        zoomingImageView.addGestureRecognizer(UILongPressGestureRecognizer(target: self, action: #selector(self.saveImage)))
        blackBackground?.addSubview(zoomingImageView)

        UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 1, options: [.curveEaseOut,.allowUserInteraction], animations: {
            self.blackBackground?.alpha = 1.0
            self.inputContainerView.alpha = 0
            //let height = startingFrame!.height / startingFrame!.height * keyWindow.frame.widthimagedShown
            self.zoomingImageView.frame = CGRect(x: self.view.frame.origin.x, y: self.view.frame.origin.y, width: self.view.frame.size.width, height: self.view.frame.size.height)
            self.zoomingImageView.center = keyWindow.center

            }, completion: nil)

    }


}

这应该允许缩放,但打印永远不会被调用,我已经设置了委托

func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
    print("hi")
    return zoomingImageView
}

【问题讨论】:

    标签: ios scrollview zooming swift3


    【解决方案1】:

    对于 Swift 3,方法签名已更改。

    斯威夫特 3:

    func viewForZooming(in scrollView: UIScrollView) -> UIView? {
        return imageView
    }
    

    【讨论】:

    • 你是圣人!非常感谢。我很感激!
    • 谢谢你的好话。。干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多