UIContextualAction图标是否有推荐的图像尺寸?

iOS 11中的新function, UIContextualAction提供了一种在UITableView单元格上实现滑动操作的便捷方式,带有标题和/或图像图标。

我没有在UIContextualAction使用的图像的人机界面指南中找到任何提及。 是否存在为此图标图像定义标准尺寸或其他设计指南的信息?

我试图通过测试几个图像大小来判断这一点,看看iOS是否会将其缩放到一致的大小,但它似乎只显示你给它的任何东西而没有缩放或裁剪,所以这没有提供任何线索。

我使用30比30.您可以在代码中轻松地将图像渲染到该大小。

let d = UIContextualAction(style: .destructive, title: nil) { action, view, completion in // ... whatever ... completion(true) } d.image = UIGraphicsImageRenderer(size:CGSize(30,30)).image { _ in UIImage(named:"trash")?.draw(in: CGRect(0,0,30,30)) } 

这里没有推荐,因为标准尺寸在UITableViewCell尺寸的多样性下没有多大意义 – 它取决于它运行的具体应用和设备。 我建议你在运行时调整图标大小 – 不要忘记留出一点空间来呼吸(垂直边距= 8px左右)。

我们可以拍摄尺寸30×30,是标准尺寸,我们可以拍摄30多个像素,具体取决于屏幕尺寸。

支持的图像类型

在此处输入图像描述

 func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? { // Write action code for the trash let TrashAction = UIContextualAction(style: .normal, title: "Delete", handler: { (ac:UIContextualAction, view:UIView, success:(Bool) -> Void) in print("Update action ...") success(true) }) TrashAction.backgroundColor = .white TrashAction.image = UIImage(imagename: “dustbin”) return UISwipeActionsConfiguration(actions: [TrashAction]) }