[英]Zooming with UIScrollView does not work
伙计们,图片出现在View上,UIView用ScrollView嵌入EmbedIn,Outlets很好,图片出现了,但是当我尝试缩放时什么也没发生,我将非常感谢任何建议,或者使用Buttons +和-或示例事件滑块(如果可以)。 我已经完成了在互联网上找到的所有内容,但是它不起作用,这是我的代码:
class TakenPhotoPreviewViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIScrollViewDelegate {
@IBOutlet weak var scrollViewOutlet: UIScrollView!
@IBOutlet weak var imageViewOutlet: UIImageView!
var takenImage: UIImage = UIImage()
let picker = UIImagePickerController()
override func viewDidLoad() {
super.viewDidLoad()
imageViewOutlet.image = takenImage
picker.delegate = self
scrollViewOutlet.delegate = self
setForZoom()
setForZoom方法在哪里
func setForZoom () {
imageViewOutlet.frame = CGRect(origin: CGPoint.zero, size: takenImage.size)
scrollViewOutlet.addSubview(imageViewOutlet)
scrollViewOutlet.contentSize = takenImage.size
scrollViewOutlet.clipsToBounds = false
let scrollViewFrame = scrollViewOutlet.frame
let scaleWidth = scrollViewFrame.size.width / scrollViewOutlet.contentSize.width
let scaleHeight = scrollViewFrame.size.height / scrollViewOutlet.contentSize.height
let minScale = min(scaleWidth, scaleHeight);
scrollViewOutlet.minimumZoomScale = minScale;
scrollViewOutlet.maximumZoomScale = 4.0
scrollViewOutlet.zoomScale = minScale;
我也有:
private func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return imageViewOutlet
}
乃至
func scrollViewDidEndZooming(_ scrollView: UIScrollView, with view: UIView?, atScale scale: CGFloat) {
}
导致有人遇到问题,因为这没有写出来。...请有人知道为什么它不起作用吗?
从您的应用程序中删除这段代码,然后尝试使用它。 到目前为止,您正在使用图像大小来限制ScrollView内容大小。
scrollViewOutlet.contentSize = takenImage.size
这个问题可能是minScale
,您设置的zoomScale
的scrollView
来minScale
。 minScale
存在问题,无法更改,因此您无法更改任何内容。
问题是否解决了?尝试删除此行代码。
scrollViewOutlet.zoomScale = minScale
顺便说一句,您应该注意变量的名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.