[英]UIScrollView crash application on iPad
我有滾動視圖與圖像,但如果我添加許多圖像(> 10),應用程序崩潰(內存限制)。 我使用的是iPad 4,不知道為什么會這樣。 你能幫忙修理一下嗎? 我的代碼是:
- (void)viewDidLoad
{
[super viewDidLoad];
//Put the names of our image files in our array.
imageArray = [[NSArray alloc] initWithObjects:@"salon1.jpg", @"salon2.jpg", @"salon3.jpg", @"salon4.jpg", @"salon5.jpg", @"salon6.jpg", @"salon7.jpg", @"salon8.jpg", @"salon9.jpg", @"salon10.jpg", @"salon11.jpg", @"salon12.jpg", @"salon13.jpg", @"salon14.jpg", @"salon15.jpg", @"salon16.jpg", @"salon17.jpg", @"salon18.jpg", nil];
for (int i = 0; i < [imageArray count]; i++) {
//We'll create an imageView object in every 'page' of our scrollView.
CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * i;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame];
imageView.image = [UIImage imageNamed:[imageArray objectAtIndex:i]];
[self.scrollView addSubview:imageView];
}
//Set the content size of our scrollview according to the total width of our imageView objects.
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * [imageArray count], scrollView.frame.size.height);
}
#pragma mark - UIScrollView Delegate
- (void)scrollViewDidScroll:(UIScrollView *)sender
{
// Update the page when more than 50% of the previous/next page is visible
CGFloat pageWidth = self.scrollView.frame.size.width;
int page = floor((self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
self.pageControl.currentPage = page;
}
@synthesize scrollView;
@synthesize pageControl;
@synthesize imageArray;
您的應用程序崩潰,因為每個設備的內存量有限。 問題是您嘗試一次加載所有圖像。 相反,嘗試UICollectionView或UITableView - 他們將為當前可見的單元格分配內存並重用其他單元格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.