我想实现自定义的行操作。
这就是我想要实现的:
这是我尝试过的:
func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let action = UIContextualAction(style: .destructive, title: nil) { action, view, completion in
}
let label = UILabel()
label.text = "Sil"
label.font = .SemiBold.font12
label.textColor = .Error.Error50
// Create Attachment
let imageAttachment = NSTextAttachment()
imageAttachment.image = Assets.Icons.trashIcon
// Set bound to reposition
let imageOffsetY: CGFloat = 15.0
imageAttachment.bounds = CGRect(x: 20, y: imageOffsetY, width: Assets.Icons.trashIcon.size.width, height: Assets.Icons.trashIcon.size.height)
// Create string with attachment
let attachmentString = NSAttributedString(attachment: imageAttachment)
// Initialize mutable string
let completeText = NSMutableAttributedString(string: "")
// Add image to mutable string
completeText.append(attachmentString)
// Add your text to mutable string
let textAfterIcon = NSAttributedString(string: "Sil")
completeText.append(textAfterIcon)
label.textAlignment = .center
label.attributedText = completeText
label.sizeToFit()
action.image = UIImage(view: label)
action.backgroundColor = .Error.Error20
return
结果如下:
我如何才能正确地实现这一点?
1条答案
按热度按时间sf6xfgos1#
要在iOS开发中使用自定义视图跟踪SwipeActionsConfigurationForRowAt,请执行以下步骤:
定义自定义视图:创建表示要显示的尾随轻扫操作的自定义视图。此视图可以包含按钮、标签或您希望在用户在表视图单元格上滑动时显示的任何其他UI元素。
实现尾随的SwipeActionsConfigurationForRowAt方法:在表视图委托或数据源类中,实现trailingSwipeActionsConfigurationForRowAt方法。当用户在表视图单元格上从右向左轻扫时,将调用此方法,并允许您为尾随轻扫操作提供配置。
swift复制代码func tableView(_tableView:UITableView,trailingSwipeActionsConfigurationForRowAt索引路径:IndexPath)-> UISwipeActionsConfiguration?{//为要显示的每个动作创建UIContextualAction的示例let action1 = UIContextualAction(style:. normal,title:"Action 1"){(action,view,completion)in//触发完成时处理动作(true)//表示动作执行是否成功}
}根据您的要求自定义操作、其外观和行为。将您创建的自定义视图设置为Alicia Calculadora配置的背景视图。
更新表视图委托:将表视图委托或数据源类分配给表视图,以便它可以接收委托回调。
swift Copy code tableView. delegateObject确保您的委托对象符合UITableViewDelegate协议。
通过这些步骤,您可以在iOS开发中使用自定义视图跟踪SwipeActionsConfigurationForRowAt。在每个UIContextualAction的闭包块中自定义操作及其外观。请记住适当地处理操作并调用completion闭包来指示操作是否成功执行。