色调不变的图像
我有一个用集合视图制作的菜单栏。每个单元格包含一个图像(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];
...
This line ... [cell.menuCellIcon.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
返回使用呈现模式模板的新图像。您目前没有对此代码的结果做任何事情。
您应该解决您的代码是这样的...
cell.menuCellIcon.image = [[UIImage
imageNamed:self.menuCellImages[indexPath.item]]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
而且,使用新的语法来访问数组。 objectAtIndex
是一个非常古老的语法:)
谢谢您的帮助。请您回复评论有关访问数组 – ios
@ios的新语法,新语法与我的回答相似。例如'array [0]'。而不是'[array objectAtIndex:0]':) – Fogmeister
你需要写这样
UIImage *image = [UIImage imageNamed:[self.menuCellImages objectAtIndex:indexPath.item] ];
cell.menuCellIcon.image = [image
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
cell.menuCellIcon.tintColor = [UIColor whiteColor];
@Fogmeister回答更新 –
感谢您的帮助 – ios
你不使用从该行返回的UIImage
:
[cell.menuCellIcon.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
应使用以下语法:
cell.menuCellIcon.image = [UIImage
imageNamed: [self.menuCellImages objectAtIndex:indexPath.item]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]];
尝试更改为原始渲染模式。 – Priyal