【问题标题】:Swift - Image color resets when Alert is displayedSwift - 显示警报时图像颜色重置
【发布时间】:2017-07-05 18:42:12
【问题描述】:

所以在我的 iOS 应用中,我有一个这样设计的菜单:

图像是使用以下代码创建的:

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 文件并显示警报告诉请稍候,图像变为灰色,如下所示:

我不确定一个视图控制器怎么可能改变另一个视图控制器的子视图。 提前致谢 -豪尔赫

【问题讨论】:

  • 也许您看到的只是图标的暗淡显示。不要使用图像模板或将tintAdjustmentMode 设置为normal 以停止淡化图标。如果您显示警报或模态控制器,通常会发生这种情况。
  • 你是对的,这不是 URLSessions 问题,而是告诉请稍候的警报改变了颜色,并将 tintAdjustmentMode 设置为 normal 就可以了。如果您想发布答案,我会接受它作为正确的答案。
  • 很高兴我猜对了。我在下面发布了一个答案。谢谢

标签: swift uiimage urlsession


【解决方案1】:

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

斯威夫特:

cell.selectionStyle = UITableViewCellSelectionStyle.none

【讨论】:

  • 如果您觉得这个问题是重复的,请标记它。重复答案通常是一种不好的做法。
  • @JAL 不是重复的,他描述了某个问题,我提出了解决方案。上面的链接只是展示了如何做到这一点。
【解决方案2】:

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

【讨论】:

  • 谢谢你。它解决了我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-15
  • 1970-01-01
  • 2015-11-17
  • 2021-10-17
  • 1970-01-01
相关资源
最近更新 更多