【问题标题】:Data not displayed in UICollectionviewcell?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 .

【问题讨论】:

    标签: ios uitableview uicollectionview


    【解决方案1】:

    这是一个相当模糊的问题。不过,可能是 UI 结构有点不对?

    UITableView -> UICollectionViewController -> UICollectionViewCell
    

    这是我还没有看到有人尝试过的事情。从我在这里看到的情况来看,您应该回溯到使用简单的 UITableView 或 UICollectionView 但不能同时使用两者。使用任一:

    UITableViewController -> UITableView -> UITableViewCell
    

    UICollectionViewController -> UICollectionView -> UICollectionViewCell
    

    我建议使用第一个,因为 UITableViews 通常更容易编码和维护

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      相关资源
      最近更新 更多