【发布时间】:2014-09-26 04:10:19
【问题描述】:
我有一个滚动视图,它充当带有 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;
没有成功。
发生了什么事?
【问题讨论】:
-
如何以及在何处将图像设置为
UIImageViews? -
@SuryakantSharma [子视图 setImageWithURL:[NSURL URLWithString:featured.background_url]]; (setImageWithURL 来自一个名为 SDWebImage 的库;延迟加载) subview.contentMode = UIViewContentModeScaleToFill;
-
我可以假设,图片正在从 URL 正确加载吗?
-
是的@SuryakantSharma。我已经多次使用这个库了。我认为问题在于滚动视图及其子视图,尽管我无法确定它是什么
-
加载前后是否检查过图片大小?
标签: ios objective-c uiscrollview subview