iOS 11 中的新功能 UIContextualAction提供了一种在 UITableView 单元格上实现滑动操作的便捷方式,带有标题和/或图像图标。
我没有在 UIContextualAction 使用的图像的人机界面指南中找到任何提及。是否存在任何定义此图标图像的标准尺寸或其他设计指南的信息?
我试图通过测试一些图像大小来解决这个问题,看看 iOS 是否会将其缩放到一致的大小,但它似乎只是显示你给它的任何东西,没有缩放或裁剪,所以没有提供任何线索。
iOS 11 中的新功能 UIContextualAction提供了一种在 UITableView 单元格上实现滑动操作的便捷方式,带有标题和/或图像图标。
我没有在 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 多个像素,具体取决于屏幕的大小。
支持的图像类型
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])
}