我有一个用集合视图制作的菜单栏。每个单元格包含一张图片(png格式)

我试图在代码中设置色彩,如下所示,但图标的色彩未更改。

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    MenuCell *cell = [collectionView
                                 dequeueReusableCellWithReuseIdentifier:self.cell
                                 forIndexPath:indexPath];
    //cell.backgroundColor = [UIColor blueColor];

    cell.menuCellIcon.image = [UIImage
                               imageNamed:[self.menuCellImages objectAtIndex:indexPath.item] ];
    [cell.menuCellIcon.image
     imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];

    cell.menuCellIcon.tintColor = [UIColor whiteColor];
...

最佳答案

这行... [cell.menuCellIcon.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];

返回使用渲染模式模板的新图像。您当前无法使用此代码的结果执行任何操作。

您应该像这样修复您的代码...

cell.menuCellIcon.image = [[UIImage
                           imageNamed:self.menuCellImages[indexPath.item]]
                           imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];


另外,使用新语法访问数组。 objectAtIndex是一种非常古老的语法:)

10-07 19:55