我有一个 UIScrollView,其中包含一个 UIImageView。一切正常,我可以放大和缩小,放大时我可以平移,等等。
我无法解决的问题是如何在屏幕上平移缩小的图像。用户需要能够将图像缩小到很小,然后将该小图像移动到屏幕上的任意点。可悲的是,它卡在屏幕中央(通常,它会卡在左上角,但我确实解决了这个问题)。
我有一个 UIScrollView,其中包含一个 UIImageView。一切正常,我可以放大和缩小,放大时我可以平移,等等。
我无法解决的问题是如何在屏幕上平移缩小的图像。用户需要能够将图像缩小到很小,然后将该小图像移动到屏幕上的任意点。可悲的是,它卡在屏幕中央(通常,它会卡在左上角,但我确实解决了这个问题)。
您需要在这里做几件事。我建议在 viewWillAppear 而不是 viewDidLoad 中执行它们,因为如果您使用情节提要,它在 viewDidLoad 中无法正常工作。
首先,您需要将滚动视图的内容大小属性设置为照片本身的大小,因为您希望照片的整个区域都是可滚动的。
self.scrollView.contentSize=self.photoShown.size;
photoShown 是 UIImage。scrollView 是一个 UIScrollView
其次,您需要将包含图像的 UIImageView 的框架设置为图像的大小:
self.imageView.frame=CGRectMake(0,0, self.photoShown.size.width, self.photoShown.size.height);
如果你还没有这样做,那么 UIImageView 的框架就是屏幕本身的大小,根本无处可平移。这就是它需要更大的原因,以便您可以平移到当前未显示在屏幕上的区域。