iOS UIScrollView 总是反弹回来
Posted
技术标签:
【中文标题】iOS UIScrollView 总是反弹回来【英文标题】:iOS UIScrollView always bounces back 【发布时间】: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;
大家好,好的,除了下面的修复之外,我已经找出了问题所在。只要我关闭情节提要中的自动布局选项,它就会起作用。
【问题讨论】:
【参考方案1】:当您在UIImageView
上设置图像时,它的框架不会更新为新图像的大小。您需要做的是调用以下代码来更新 picture
的框架框架以匹配图像的大小。
[self.picture sizeToFit];
附带说明,在更改图像之前,您不需要在 imageView 上将图像设置为 nil。
【讨论】:
酷好吧,我刚刚添加了它,我可以看到它现在设置了所有正确的尺寸,但它仍然不滚动。我添加了以下内容,当它停在里面时,我检查了滚动的 contentSize 的值,并且内容大小设置为 320x460,这不是正确的大小。这就是为什么我认为它正在反弹,但我不知道它在哪里改变了 contentSize。 - (void)scrollViewDidScroll:(UIScrollView *)scrollView int i = 0; (如果对您的应用更有意义,您还可以将self.picture
的框架设置为其他值。)
这对于调整 uipagecontrol 的大小确实没有多大帮助,事实上甚至在旋转后也不起作用。而是更容易使用自动布局。以上是关于iOS UIScrollView 总是反弹回来的主要内容,如果未能解决你的问题,请参考以下文章
将 UIRefreshControl 添加到 UIScrollView