滚动视图上子视图的不必要的反弹
我有一个滚动视图作为一个横幅与15个图像视图作为子视图(横向滚动)。 我这样添加子视图:
for (int i = 0; i < featuredImages.count; i++) {
CGRect frame;
frame.origin.x = self.scrollViewFeaturedImages.frame.size.width * i;
frame.origin.y = 0;
frame.size = self.scrollViewFeaturedImages.frame.size;
UIImageView *subview = [[UIImageView alloc] init];
subview.frame = frame;
[self.scrollViewFeaturedImages addSubview:subview];
}
并相应地设置contentSize:
self.scrollViewFeaturedImages.contentSize = CGSizeMake(self.scrollViewFeaturedImages.frame.size.width * featuredImages.count, self.scrollViewFeaturedImages.frame.size.height);
self.scrollViewFeaturedImages.contentInset = UIEdgeInsetsZero;
但是,当视图出现时,第一个图像似乎有点偏离。
当我滚动(水平)到下一张图像时,间隙消失,当我滚动回第一张图像时,帧已经被校正。
我也禁用了BOUNCE,但我可以垂直拖动图像。
我也试过这个:
self.automaticallyAdjustsScrollViewInsets = NO;
没有成功。
这是怎么回事?
在困惑了2周后,我终于通过在viewDidAppear
添加这些行来修复这个问题。
self.scrollViewFeaturedImages.contentInset = UIEdgeInsetsZero;
self.scrollViewFeaturedImages.scrollIndicatorInsets = UIEdgeInsetsZero;
您是否尝试将UIImageView的属性contentMode
更改为UIViewContentModeScaleToFill
?