Skip to content

longlongjump/LLSwipeCell

Repository files navigation

LLSwipeCell

Simple UITableViewCell subclass that allows to swipe left or right to reveal custom buttons on the sides of the cell.

Usage

slideContentView must set before left or right buttons assigned

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 {
}

You can setup buttons inside func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell delegate method

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
}

Installation

From CocoaPods

Add pod 'LLSwipeCell' to your Podfile.

Manually

Just add LLSwipeCell/LLSwipeCell.swift file to you project.

Licence

MIT

About

LLSwipeCell

Resources

License

Stars

Watchers

Forks

Packages

No packages published