我有一个滚动视图,作为横幅,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;
没有成功。
发生了什么?
答案 0 :(得分:1)
在困惑了两个星期后,我终于通过在viewDidAppear
添加这些行来解决这个问题。
self.scrollViewFeaturedImages.contentInset = UIEdgeInsetsZero;
self.scrollViewFeaturedImages.scrollIndicatorInsets = UIEdgeInsetsZero;
答案 1 :(得分:0)
您是否尝试将UIImageView的属性contentMode
更改为UIViewContentModeScaleToFill
?