【发布时间】:2018-12-15 10:12:52
【问题描述】:
我将 UIImageView 作为 UIScrollView 的子视图。
let newImageView = UIImageView(image: imageView.image)
newImageView.contentMode = .scaleAspectFit
newImageView.isUserInteractionEnabled = true
let tap = UITapGestureRecognizer(target: self, action: #selector(self.dismissFullscreenImage))
newImageView.addGestureRecognizer(tap)
scrollPinch = UIScrollView()
scrollPinch.frame = UIScreen.main.bounds
scrollPinch.isUserInteractionEnabled = true
scrollPinch.minimumZoomScale = 1.0
scrollPinch.maximumZoomScale = 6.0
scrollPinch.delegate = self
scrollPinch.clipsToBounds = true
newImageView.frame = scrollPinch.bounds
self.view.addSubview(self.scrollPinch)
self.scrollPinch.addSubview(newImageView)
像这样。 (* scrollPinch 在这个 ViewController 类的方法之外被声明为 var scrollPinch: UIScrollView!) 然后,在委托方法中,
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
if (scrollView == scrollPinch){
if (scrollView.subviews[0].isKind(of: UIImageView.self)){
return scrollView.subviews[0]
}
}
return nil
}
现在,我首先尝试放大,imageView 向右移动而不是放大。但是,在我放开 imageView 并尝试再次放大后,它工作得很好。
有什么办法解决这个问题吗?
【问题讨论】:
标签: ios swift uiscrollview zooming pinch