4

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

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

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

4

3 回答 3

21

我使用 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))
    }
于 2017-11-27T01:59:44.960 回答
2

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

于 2018-03-30T09:49:25.823 回答
1

我们可以采用 30 x 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])
    }
于 2018-06-05T06:04:26.013 回答