我從一個很長的時間進行恢復,這是以前的工作應用程序,所以我假設它的下跌在新版本的iOS操作系統的變化。圖像UICollectionView不顯示從NSMutableArray的
當我在模擬器上運行應用程序時,沒有顯示圖像,但正在創建單元並顯示名稱。我知道我必須在某處失去一些東西,但不能在我的生活中看到它,但是我不熟悉最近的變化。
任何幫助深表感謝,這是我的代碼:
- (void)createData {
self.graniteImages = [NSMutableArray array];
[self.graniteImages addObject:[[NSMutableDictionary alloc]
initWithObjectsAndKeys:@"Angel Cream", @"name",
@"angel-cream.jpg", @"image", nil]];
[self.graniteImages addObject:[[NSMutableDictionary alloc]
initWithObjectsAndKeys:@"Angola Black", @"name" ,
@"angola_black1.jpg", @"image" , nil]];
[self.graniteImages addObject:[[NSMutableDictionary alloc]
initWithObjectsAndKeys:@"Angola Silver", @"name" ,
@"angola-silver1.jpg", @"image" , nil]];
[self.collectionView reloadData];
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.graniteImages.count;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identifier = @"Cell";
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
UIImageView *graniteImageView = (UIImageView *)[cell viewWithTag:100];
graniteImageView.image = [UIImage imageNamed:[[self.graniteImages objectAtIndex:indexPath.row] objectForKey:@"image"]];
return cell;
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (_startingIndexPath) {
NSInteger currentIndex = floor((scrollView.contentOffset.x - scrollView.bounds.size.width/1)/scrollView.bounds.size.width) + 1;
if (currentIndex < [self.graniteImages count]) {
self.title = self.graniteImages[currentIndex][@"name"];
}
}
}
你可以試試,看看imageNamed返回的實際圖像,也許有事與資產,就可以加載名稱那些圖像,別的地方? – JackRobinson
看起來有可能您使用的文件名不是資產名稱。 – torinpitchers
您的圖片在資產文件中?然後嘗試刪除'.jpg'擴展名。 @JackRobinson可能是對的,你的圖片可能不會被加載。 – vitormm