我有一个屏幕大小的UIScrollView,其中包含相同大小的UIImageView。
我在带有AspectFit的UIImageView内部设置了一个图像,因此对于更宽的图像,顶部和底部都有黑条。缩小时这是预期的。
双击屏幕会强制[self.scrollView setZoomScale:self.scrollView.maximumZoomScale animated:YES];
问题是,在上面提到的图像上,我可以远远超出照片的边缘。
我认为这是因为return imageView;
中的(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
和imageView高度比图像高,所以我可以平移到imageView的顶部和底部,忽略其内容。
那么,我如何限制将scrollview平移到图像的边界?
答案 0 :(得分:0)
你需要使用这个:Emulating aspect-fit behaviour using AutoLayout constraints in Xcode 6
适合Autolayout的方面。然后,如果图像大小不同,则需要在加载图像时添加宽高比约束。你可以得到一个错误,变焦后的图像粘到右边缘。仍然无法解决它。
答案 1 :(得分:0)
只需使用以下代码将scrollview的内容大小设置为图像大小:
scrollView.contentSize = [scrollView imageView].image.size;
请注意,您应该在为scrollview imageView设置图像时执行此操作。