Ios 图像的着色颜色不变
我有一个用集合视图制作的菜单栏。每个单元格包含一个图像(png格式) 我试图按如下所示设置代码的着色,但图标的着色颜色没有改变Ios 图像的着色颜色不变,ios,objective-c,uiimageview,Ios,Objective C,Uiimageview,我有一个用集合视图制作的菜单栏。每个单元格包含一个图像(png格式) 我试图按如下所示设置代码的着色,但图标的着色颜色没有改变 -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { MenuCell *cell = [collectionView
-(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];
...
你需要这样写
UIImage *image = [UIImage imageNamed:[self.menuCellImages objectAtIndex:indexPath.item] ];
cell.menuCellIcon.image = [image
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
cell.menuCellIcon.tintColor = [UIColor whiteColor];
你需要这样写
UIImage *image = [UIImage imageNamed:[self.menuCellImages objectAtIndex:indexPath.item] ];
cell.menuCellIcon.image = [image
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
cell.menuCellIcon.tintColor = [UIColor whiteColor];
您不使用从此行返回的
UIImage
:
[cell.menuCellIcon.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
应使用以下语法:
cell.menuCellIcon.image = [UIImage
imageNamed: [self.menuCellImages objectAtIndex:indexPath.item]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]];
您不使用从此行返回的
UIImage
:
[cell.menuCellIcon.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
应使用以下语法:
cell.menuCellIcon.image = [UIImage
imageNamed: [self.menuCellImages objectAtIndex:indexPath.item]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]];
这条线<代码>[cell.menuCellIcon.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]代码> 返回使用渲染模式模板的新图像。您当前没有对该代码的结果执行任何操作 你应该像这样修复你的代码
cell.menuCellIcon.image = [[UIImage
imageNamed:self.menuCellImages[indexPath.item]]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
另外,使用新语法访问数组
objectAtIndex
是一种非常古老的语法:)这一行<代码>[cell.menuCellIcon.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]代码>
返回使用渲染模式模板的新图像。您当前没有对该代码的结果执行任何操作
你应该像这样修复你的代码
cell.menuCellIcon.image = [[UIImage
imageNamed:self.menuCellImages[indexPath.item]]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
另外,使用新语法访问数组
objectAtIndex
是一种非常古老的语法:)尝试将渲染模式更改为原始模式。尝试将渲染模式更改为原始模式。感谢您的帮助。请您回复有关访问的新语法的评论array@ios新的语法与我的答案类似<例如,代码>数组[0]。而不是[array objectAtIndex:0]
:)谢谢您的帮助。请您回复有关访问的新语法的评论array@ios新的语法与我的答案类似<例如,代码>数组[0]。而不是[array objectAtIndex:0]
:)