UIContextualAction 图标是否有推荐的图像大小?

Is there a recommended image size for UIContextualAction icons?

iOS11 中的新增功能,UIContextualAction 提供了一种在 UITableView 单元格上实现滑动操作的便捷方式,带有标题 and/or 图像图标。

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

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

我使用 30 x 30。您可以很容易地在代码中将图像缩小到该尺寸。

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

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

我们可以采用 30 x 30 的尺寸,这是标准尺寸,我们可以采用超过 30 像素的尺寸,具体取决于屏幕尺寸。

Type of image that is support

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])
    }