我已经在UItableViewCell的前端设置了一个“添加到购物车”的动作。我已经设置了背景颜色,它的图像和标题。下面是我的代码。
@available(iOS 11.0, *)
func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let addToCart = UIContextualAction(style: .normal, title: "Add to Cart") { (action, view, nil) in
print("Added to cart")
}
addToCart.title = "Add to Cart"
addToCart.backgroundColor = #colorLiteral(red: 0.2196078449, green: 0.007843137719, blue: 0.8549019694, alpha: 1)
addToCart.image = UIImage(named: "cart")
return UISwipeActionsConfiguration(actions: [addToCart])
}
以前的尝试:我没有使用addToCart.title = "Add to Cart"
定义title,但是在没有得到它之后,我已经设置了它。
我添加的图像大小为25*25,背景清晰,是.png格式。
3条答案
按热度按时间gev0vcfq1#
UIContextualAction支持text和image,通过setImage设置图像:属性,创建对象时基本上去掉了标题,如果既要文本又要图片,则需要创建带嵌入文本的图片。
这是UIContextualAction中的错误。它不能同时显示图像和标题**除非表格视图单元格高度为91点。**更多信息请参阅forums.apple
xuo3flqw2#
对于任何仍在寻找解决方案的人,我在Medium上找到了这个:https://forzfilm.medium.com/how-to-set-image-and-label-in-trailing-swipe-action-with-custom-font-ios11-4a49d4794669。事实证明,您可以将UIView渲染为Image。
注意:下面的答案是使用
UICollectionLayoutListConfiguration
,但你也可以使用它与tableView,因为他们都使用UIContextualAction
。和单元格高度的例子是80。使用
UICollectionLayoutListConfiguration
在XCode 14中测试:SwipeLayout:
在
trailingSwipeActionsConfigurationProvider
中:6bc51xsx3#
"试试这个"
添加滑动以删除UITableViewCell