Swift 4中UITableView侧滑操作不显示标题的问题
UITableView左侧侧滑「加入购物车」操作实现方案
我最近在给UITableViewCell配置左侧侧滑的「加入购物车」操作,折腾了一番终于搞定了背景色、图标和标题的配置,这里分享下完整代码和踩过的小坑:
完整实现代码
@available(iOS 11.0, *) func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? { let addToCart = UIContextualAction(style: .normal, title: "Add to Cart") { (action, view, completionHandler) in print("Added to cart") completionHandler(true) // 记得调用完成回调,告知系统操作已结束 } // 单独设置title解决初始化传参后标题不显示的问题 addToCart.title = "Add to Cart" addToCart.backgroundColor = #colorLiteral(red: 0.2196078449, green: 0.007843137719, blue: 0.8549019694, alpha: 1) addToCart.image = UIImage(named: "cart") // 使用25×25尺寸、透明背景的PNG图标 return UISwipeActionsConfiguration(actions: [addToCart]) }
踩坑记录与注意事项
- 标题显示问题:一开始我只在
UIContextualAction的初始化方法里传入了title,结果侧滑时完全看不到标题,后来单独加了addToCart.title = "Add to Cart"这句,标题就正常显示出来了。 - 图标适配:我选用了25×25尺寸、透明背景的PNG格式图片,这样图标既不会因为尺寸过大导致显示变形,也不会被背景色遮挡影响视觉效果,最终呈现的效果如图所示:
内容的提问来源于stack exchange,提问作者Parth Rudakia
相关产品推荐
相关产品推荐

