UICollectionviewcell 中未显示数据?
Posted
技术标签:
【中文标题】UICollectionviewcell 中未显示数据?【英文标题】:Data not displayed in UICollectionviewcell? 【发布时间】:2016-04-04 15:47:15 【问题描述】:我在 UICollectionviewcell.my 中创建一个 UIImageview 和两个 UILables 存储在 NSArray 和格式中的数据是 NSDictionary ,键和值。但数据未显示在 UICollectionviewCell 中。这是我的代码请检查我的代码。
//---- ItemviewController ---//
mensarrayimages = @[ @ @"description": @"Mens Fashion",
@"articles": @[ @ @"image": @"SlimFit.jpg" ,
@ @"image": @"Brown.jpg" ,
@ @"image": @"Black.jpg" ,
@ @"image": @"Brown.jpg" ,
@ @"image": @"SlimFit.jpg" ,
@ @"image": @"SlimFit.jpg" ,
@ @"image": @"Brown.jpg" ,
@ @"image": @"Black.jpg" ,
@ @"image": @"Brown.jpg" ,
@ @"image": @"SlimFit.jpg"
],
@"itemname": @[ @ @"name": @"SlimFit",
@ @"name": @"BrownSlimFit",
@ @"name": @"SlimFit",
@ @"name": @"BrownSlimFit",
@ @"name": @"SlimFit",
@ @"name": @"SlimFit",
@ @"name": @"BrownSlimFit",
@ @"name": @"SlimFit",
@ @"name": @"BrownSlimFit",
@ @"name": @"SlimFit"
],
@"itemprice": @[ @ @"price": @"1499",
@ @"price": @"1599",
@ @"price": @"1399",
@ @"price": @"1599",
@ @"price": @"1499",
@ @"price": @"1499",
@ @"price": @"1599",
@ @"price": @"1399",
@ @"price": @"1599",
@ @"price": @"1499"
],
,
];
//---UITableview--///
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
return [mensarrayimages count];
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
//return [modaldatabase.imagesArray count];
return 1;
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
// static NSString *cellidentifier =@"cell";
MensCell *cell = [itemTableview dequeueReusableCellWithIdentifier:@"MensCell"];
//------ NSDictinary------
cellData = [mensarrayimages objectAtIndex:[indexPath section]];
priceData = [mensarrayimages objectAtIndex:[indexPath section]];
priceData1 = [mensarrayimages objectAtIndex:[indexPath section]];
//--- NSARRAY---
NSArray *articleData = [cellData objectForKey:@"articles"];
NSArray *itemnamedata = [priceData objectForKey:@"itemname"];
priceArr = [priceData1 objectForKey:@"itemprice"];
[cell setCollectionData:articleData];
[cell setCollectionData1:itemnamedata];
[cell setCollectionData2:priceArr];
return cell;
//------ UICollectionview ---///
//-- CollectionviewController--//
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
return 1;
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
return [self.collectionarray count];
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
CollectionCell1 *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CollectionCell1" forIndexPath:indexPath];
NSDictionary *cellDataname = [self.collectionarray objectAtIndex:[indexPath row]];
NSLog(@"%@",cellDataname);
NSDictionary *cellDataimage = [self.arrayImage objectAtIndex:[indexPath row]];
NSLog(@"%@",cellDataimage);
NSDictionary *cellDataprice = [self.arrayprice objectAtIndex:[indexPath row]];
NSLog(@"%@",cellDataprice);
cell.ItemImageName.image =[UIImage imageNamed:[NSString stringWithFormat:@"%@",[cellDataimage objectForKey:@"image"]]];
cell.ItemName.text = [cellDataname objectForKey:@"name"];
cell.ItemPrice.text = [cellDataprice objectForKey:@"price"];
return cell;
UITableviewcell -> UICollectionviewController -> UICollectionviewCell .
【问题讨论】:
【参考方案1】:这是一个相当模糊的问题。不过,可能是 UI 结构有点不对?
UITableView -> UICollectionViewController -> UICollectionViewCell
这是我还没有看到有人尝试过的事情。从我在这里看到的情况来看,您应该回溯到使用简单的 UITableView 或 UICollectionView 但不能同时使用两者。使用任一:
UITableViewController -> UITableView -> UITableViewCell
或
UICollectionViewController -> UICollectionView -> UICollectionViewCell
我建议使用第一个,因为 UITableViews 通常更容易编码和维护
【讨论】:
以上是关于UICollectionviewcell 中未显示数据?的主要内容,如果未能解决你的问题,请参考以下文章
Xcode @2x 图像后缀在 iOS 中未显示为 Retina
UICollectionViewCell 将被显示/被显示?
检测是不是正在显示 UICollectionViewCell