一个简单的 UITableViewCell 子类,允许通过左右滑动来显示自定义按钮。
slideContentView 必须在分配左右按钮之前设置
class SwipeCell: LLSwipeCell {
let label = UILabel()
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
slideContentView = UIView()
contentView.addSubview(slideContentView)
label.text = "swipe left"
slideContentView.addSubview(label)
let button1 = UIButton()
button1.setTitle("1", forState: .Normal)
button1.frame = CGRect(x: 0, y: 0, width: 50, height: 0)
button1.backgroundColor = UIColor.redColor()
leftButtons = [button1]
let button2 = UIButton()
button2.setTitle("2", forState: .Normal)
button2.frame = CGRect(x: 0, y: 0, width: 50, height: 0)
button2.backgroundColor = UIColor.redColor()
rightButtons = [button2]
}
}
class SwipeCell: LLSwipeCell {
}
您可以在 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
代理方法中设置按钮
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("SwipeCell", forIndexPath: indexPath) as! SwipeCell
let deleteButton = UIButton()
deleteButton.setTitle("delete", forState: .Normal)
deleteButton.frame = CGRect(x: 0, y: 0, width: 50, height: 0)
deleteButton.backgroundColor = UIColor.redColor()
deleteButton.addTarget(self, action: "deleteTapped:", forControlEvents: .TouchUpInside)
cell.rightButtons = [deleteButton]
return cell
}
只需将 LLSwipeCell/LLSwipeCell.swift
文件添加到您的项目中。
MIT