iOS UIScrollView总是反弹
问题描述:
我正在尝试做一个概念应用程序的基本证明。它使用带有UIImageView的UIScrollView。iOS UIScrollView总是反弹
我设置了图像,然后设置UIScrollView的contentSize,但我仍然无法滚动,它总是反弹回到开始。有谁知道我可能会错过什么?
PS。缩放工作正常。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[self.picture setImage:nil];
[self.picture setImage:self.image];
self.scroll.contentSize = self.picture.frame.size;
}
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
{
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.picture;
}
大家好,我已经找出了问题是其他下面的修复程序。只要我关闭故事板中的Autolayout选项,它就会工作。
答
当您在UIImageView
上设置图像时,它的框架不会更新为新图像的大小。您要做的是调用以下内容来更新picture
的帧帧以匹配图像的大小。
[self.picture sizeToFit];
在一个侧面说明,你不需要改变它之前设置在图像上零的ImageView的。
很酷,我刚添加它,我现在可以看到它设置了所有正确的尺寸,但它仍然不滚动。我添加了下面,当它停在里面时,我检查了scroll的contentSize的值,并且内容大小设置为320x460,这不是正确的大小。这就是为什么我认为它正在做反弹,但我不知道它在哪里改变contentSize。 (void)scrollViewDidScroll :(UIScrollView *)scrollView { int i = 0; } – Ludicrous
(您也可以将'self.picture'的框架设置为其他值,如果这对您的应用程序更有意义)。 –
这实际上并不是调整uipagecontrol的有效方法,实际上并不是甚至在轮换之后工作。相反,使用自动布局更容易。 –