Swift - 显示警报时图像颜色重置

时间:2017-02-16 15:03:19

标签: swift uiimage urlsession

所以在我的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函数中。现在所有不同的viewcontrollers(HomeViewController,InfoViewController等...)根本无法访问菜单控制器,因此无法更改图像的颜色,我无法改变这些图像的颜色。现在,当我按下其中一个不使用任何警报或模态视图(如主页或信息)的选项卡时,图像保持完好,但是当我按下天气或短途旅行时,使用URLSession dataTask下载json文件并显示警告告诉请等待,图像变为灰色,如下所示:

enter image description here

我不确定一个视图控制器可以更改另一个viewcontrollers子视图的可能性。 提前致谢 -Jorge

2 个答案:

答案 0 :(得分:1)

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

夫特:

cell.selectionStyle = UITableViewCellSelectionStyle.none

答案 1 :(得分:1)

也许你看到的是你的图标的暗淡呈现。请勿使用图片模板或将tintAdjustmentMode设置为normal以停止淡化图标。通常,如果您显示警报或模态控制器,则会发生这种情况。