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的。

+0

很酷,我刚添加它,我现在可以看到它设置了所有正确的尺寸,但它仍然不滚动。我添加了下面,当它停在里面时,我检查了scroll的contentSize的值,并且内容大小设置为320x460,这不是正确的大小。这就是为什么我认为它正在做反弹,但我不知道它在哪里改变contentSize。 (void)scrollViewDidScroll :(UIScrollView *)scrollView { int i = 0; } – Ludicrous

+0

(您也可以将'self.picture'的框架设置为其他值,如果这对您的应用程序更有意义)。 –

+0

这实际上并不是调整uipagecontrol的有效方法,实际上并不是甚至在轮换之后工作。相反,使用自动布局更容易。 –