我有一个包含比屏幕尺寸更大的图像的 UIImageView
。我将这个 UIImageView
作为 UIScrollView
的子视图。现在,我无法向下滚动来查看整张图片。但缩放功能正常工作。
@IBOutlet weak var scrollView: UIScrollView!
var imageView = UIImageView();
override func viewDidLoad() {
super.viewDidLoad()
}
func centerScrollViewContents(){
let boundsSize = scrollView.bounds.size
var contentsFrame = imageView.frame
if contentsFrame.size.width < boundsSize.width {
contentsFrame.origin.x = (boundsSize.width - contentsFrame.size.width) / 2
}
else {
contentsFrame.origin.x = 0
}
if contentsFrame.size.height < boundsSize.height {
contentsFrame.origin.y = (boundsSize.height - contentsFrame.size.height) / 2
}
else {
contentsFrame.origin.y = 0
}
imageView.frame = contentsFrame
// scrollView.frame = contentsFrame
}
func scrollViewDidZoom(scrollView: UIScrollView) {
centerScrollViewContents()
}
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return imageView
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewDidAppear(animated: Bool) {
scrollView.delegate = self
imageView.frame = CGRectMake(0, 0, scrollView.frame.size.width, scrollView.frame.size.height)
// imageView.contentMode = UIViewContentMode.ScaleAspectFill
// imageView.clipsToBounds = true
imageView.image = UIImage(named: imgstr)
var imagee = UIImage(named: imgstr)
let size = imagee?.size
// imageView.frame = CGRectMake(0, 0, size.width!, size.height!)
imageView.contentMode = .Top
scrollView.addSubview(imageView)
scrollView.contentSize = size!
let scrollViewFrame = scrollView.frame
let scaleWidth = scrollViewFrame.size.width / scrollView.contentSize.width
let scaleHeight = scrollViewFrame.size.height / scrollView.contentSize.height
let minScale = min(scaleHeight, scaleWidth)
scrollView.minimumZoomScale = 1
scrollView.maximumZoomScale = 5
scrollView.zoomScale = minScale
centerScrollViewContents()
}
frame
属性进行更改,你应该为你的ImageView top constraint
创建一个IBOutlet
并更改它,另外请参考https://www.google.co.in/search?q=autolayout+and+scrollview&oq=autolayout+and+scrollview&aqs=chrome..69i57j0l5.4077j0j1&sourceid=chrome&es_sm=119&ie=UTF-8 - iphonic