![](/img/trans.png)
[英]touchesBegan is called in iOS 12 but is not called in iOS 13
[英]Icon for UITableViewRowAction is shown on iOS 13, but not on iOS 12
好的,我遇到了UITableViewRowAction
的奇怪行为(错误)。 我正在尝试向左滑动操作添加图标。 Bellow 是我在表视图委托的tableView(_:trailingSwipeActionsConfigurationForRowAt:)
方法中设置图标的代码(action 是UIContextualAction
的一个实例):
action.image = UIGraphicsImageRenderer(size: Constants.swipeActionImageSize)
.image(actions: { _ in
Constants.messageReplyIcon.draw(in: CGRect(origin: .zero,
size: Constants.swipeActionImageSize))
})
我正在使用此解决方案,因为需要稍微调整图像大小。 这在 iOS 13 上运行良好,但在 iOS 12 上(实际上,在 iOS 12.2 上运行),它将图像呈现为白色圆圈。 下面,你可以看到iOS 13模拟器和iOS 12.2模拟器上的图标截图一个接一个。
iOS 13
iOS 12.2
请注意,即使我只是简单地设置图像,而没有做所有花哨的调整大小的事情,也会发生这种情况。
但是,当我在 iOS 12 上查看 UI 调试器中的图像时,我看到以下内容:
我怀疑, UIContextualAction
对 iOS 12 上的图标应用了一些淡色,但不知道为什么,因此找不到解决方案。
也许,你遇到过这样的事情,或者对原因有什么想法? 提前致谢。
旧版本UIContextualAction
上的 UIContextualAction 将图像转换为将被涂成白色的模板。 尽管文档没有说明任何内容。
查看模板:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.