2017-02-16 62 views
0

所以在我的iOS应用程序我有这样设计的菜单:斯威夫特 - 图像色彩复位时显示警告

enter image description here

的图像是用下面的代码创建:

cell.imageCell?.image = menuItems[indexPath.row].image 
    cell.imageCell.image = cell.imageCell.image?.withRenderingMode(.alwaysTemplate) 
    cell.imageCell.tintColor = MenuTableViewController.fontColor 
    cell.imageCell.backgroundColor = UIColor.clear 

这段代码放在tableview的cellForRowAt函数中。现在,所有不同的视图控制器(HomeViewController,InfoViewController等)根本无法访问菜单控制器,因此无法更改图像的颜色,无法更改这些图像的颜色。现在,当我按下不使用任何警报或模式视图(如家或信息)的选项卡时,图像保持完好,但是当我按下天气或游览时使用URLSession dataTask下载json文件并显示警报要请稍候,图像变成灰色像下面这样:

enter image description here

我不知道这是怎么甚至有可能是一个视图控制器可以改变另一个viewcontrollers子视图。 在此先感谢 -Jorge

+1

也许你看到的是你的图标变暗的演示文稿。不要使用图像模板或将'tintAdjustmentMode'设置为'normal'来停止淡入淡出的图标。通常情况下,如果显示警报或模式控制器,就会发生这种情况 – Andy

+0

你是对的它不是URLSessions问题,它是警告告诉请等待,改变了颜色,并设置'tintAdjustmentMode'为'正常'做了窍门。如果你想发表一个答案,我会接受它作为正确的。 –

+0

很高兴我猜对了。我在下面发布了一个答案。谢谢 – Andy

回答

1

也许你看到的就是你的图标变灰的演示。不要使用图像模板或将tintAdjustmentMode设置为normal以停止淡入淡出的图标。通常情况下,如果显示警报或模式控制器,就会发生这种情况

1

它看起来像它的默认UITableViewCell点击样式。 尝试将样式设置为, 如下回答:How can I disable the UITableView selection highlighting?

斯威夫特:

cell.selectionStyle = UITableViewCellSelectionStyle.none 
+0

如果您觉得这个问题是重复的,请将其标记为这样。复制答案通常是一种不好的做法。 – JAL

+1

@JAL它不是重复的,他描述了某个问题,我提出了一个解决方案。上面的链接只显示了如何做到这一点。 – Lirik