【问题标题】:iOS UIScrollView always bounces backiOS UIScrollView 总是反弹回来
【发布时间】:2012-11-15 21:44:56
【问题描述】:

我正在尝试制作一个基本的概念验证应用程序。它使用带有 UIImageView 的 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;
}

大家好,好的,除了下面的修复之外,我已经找出了问题所在。只要我关闭情节提要中的自动布局选项,它就会起作用。

【问题讨论】:

    标签: ios uiscrollview


    【解决方案1】:

    当您在UIImageView 上设置图像时,它的框架不会更新为新图像的大小。您需要做的是调用以下代码来更新 picture 的框架框架以匹配图像的大小。

    [self.picture sizeToFit];
    

    附带说明,在更改图像之前,您不需要在 imageView 上将图像设置为 nil。

    【讨论】:

    • 酷好吧,我刚刚添加了它,我可以看到它现在设置了所有正确的尺寸,但它仍然不滚动。我添加了以下内容,当它停在里面时,我检查了滚动的 contentSize 的值,并且内容大小设置为 320x460,这不是正确的大小。这就是为什么我认为它正在反弹,但我不知道它在哪里改变了 contentSize。 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { int i = 0; }
    • (如果对您的应用更有意义,您还可以将self.picture 的框架设置为其他值。)
    • 这对于调整 uipagecontrol 的大小确实没有多大帮助,事实上甚至在旋转后也不起作用。而是更容易使用自动布局。
    猜你喜欢
    • 1970-01-01
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多