带有图像而不是标题的 UITableViewRowAction

UITableViewRowAction with image instead of title

我想像邮件应用一样进行cell滑动操作。

我将行操作的 UIImage 设置为 backgroundColor

 action.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"remove"]];

但我的图像在背景上重复 side-by-side。像这样。

图片大小问题? 可以告诉我如何修复它,或者其他方法吗?

是的,这是图像尺寸问题。 甚至我也有类似的要求并面临同样的问题。在这种情况下,当您使用时,

action.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"remove"]];

即使您将 imageView.contentMode 设置为:

UIViewContentModeScaleAspectFit
UIViewContentModeScaleToFill
UIViewContentModeScaleAspectFill

如果您使用的图像大小与单元格上按钮的大小不匹配,则图像不会拉伸以填满整个按钮,而图像图案只会重复直到按钮的整个区域都被使用。 这是因为您设置的是 'backgroundColor' 而不是实际的 'backgroundImage'。 'backgroundColor' 不像 'backgroundImage' 不遵守按钮的 UIContentMode。

因此,您要做的就是创建一个与按钮大小完全相同的图像。如果您的单元格具有动态高度(根据您的内容在运行时确定的高度),则无法执行此操作。