ページングが有効になっているUIScrollViewがあります。画像でいっぱいにしたいのですが、を使用せずにフィットさせる必要があるUIImageViewがあります.frame
。これは、自動レイアウトが有効になっていると機能しないためです。自動レイアウトを使用しないことはオプションではありません。
現状のコードは次のとおりです。
//Prepare and load the view
[scrollView1 setContentSize:CGSizeMake((kNumImages * kScrollObjWidth), (kScrollObjHeight))];
scrollView1.pagingEnabled = YES;
[scrollView1 setShowsHorizontalScrollIndicator:NO];
CGRect Rect = scrollView1.bounds;
UIImageView *beadContainer;
for (int i = 0; i < imageViews.count; i++)
{
beadContainer = [imageViews objectAtIndex:i];
beadContainer.frame = Rect;
[scrollView1 addSubview:beadContainer];
Rect.origin.x += Rect.size.width;
}
ScrollViewにはすべての正しいサイズがあり、期待どおりにスクロールしますが、どの画像もそのままでは表示されません。コメントアウトするbeadContainer.frame = Rect;
と、配列内のすべての画像がにimageViews
表示され0, 0
ます。それらはすべて互いに重なり合って表示されます。もちろん、ScrollViewを埋めるためにそれらが必要です。