ストーリーボードとARCモードを使用しています。これには、3 つのビュー コントローラーが含まれます。
各View Controllerにはクラスがあります。
VC1 には Class1.h と Class1.mがあり、
VC2 には Class2.h と Class2.m があります。
各 m ファイルで、イメージ ビューを作成し、イメージ ビューにイメージを追加します。
次に、この画像ビューをスクロール ビューに追加します。
この場合、class1 で約 200 枚の画像を使用すると、class2 の画像が画像ビューに表示されなくなります。
最初は、これはメモリの問題だと思います。
メモリの上限に達したと思ったので、別の画像を再度追加することはできません。
そのため、画像サイズを縮小して再試行します (300Mb から 30Mb に縮小)。
しかし、うまくいきませんでした。何も思いつきません。どうすればこの問題を解決できますか? 道を教えてください。
それが私のコードです。
- (void)viewDidLoad
{
[super loadView];
self.view.backgroundColor = [UIColor grayColor];
UIScrollView *ScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 44, self.view.frame.size.width, self.view.frame.size.height)];
ScrollView.pagingEnabled = YES;
NSInteger numberOfViews = 200;
for (int i = 0; i < numberOfViews; i++) {
CGFloat xOrigin = i * self.view.frame.size.width;
// Create a UIImage to hold Info.png
UIImage *image1 = [UIImage imageNamed:@"Image-001.jpg"];
UIImage *image2 = [UIImage imageNamed:@"Image-002.jpg"];
UIImage *image13 = [UIImage imageNamed:@"Image-200.jpg"];
NSArray *images = [[NSArray alloc] initWithObjects:image1,image2,...,image200,nil];
UIImageView *ImageView = [[UIImageView alloc] initWithFrame:CGRectMake(xOrigin, 0, self.view.frame.size.width, self.view.frame.size.height-44)];
[ImageView setImage:[images objectAtIndex:i]];
[ScrollView addSubview:ImageView];
}
ScrollView.contentSize = CGSizeMake(self.view.frame.size.width * numberOfViews, self.view.frame.size.height);
[self.view addSubview:ScrollView];
}