Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 图像的着色颜色不变_Ios_Objective C_Uiimageview - Fatal编程技术网

Ios 图像的着色颜色不变

Ios 图像的着色颜色不变,ios,objective-c,uiimageview,Ios,Objective C,Uiimageview,我有一个用集合视图制作的菜单栏。每个单元格包含一个图像(png格式) 我试图按如下所示设置代码的着色,但图标的着色颜色没有改变 -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { MenuCell *cell = [collectionView

我有一个用集合视图制作的菜单栏。每个单元格包含一个图像(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];
...

你需要这样写

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]
:)