在iOS7系統的Mail App中TableViewCell的一個功能讓咱們作TableView的比較羨慕,就是滑動cell,右邊出現了兩個按鈕,以下:git
網上在github上有不少大牛用custom tableViewCell的方法實現了這個效果,甚至更強,好比這兩位:github
https://github.com/CEWendel/SWTableViewCellapp
https://github.com/daria-kopaliani/DAContextMenuTableViewControllerspa
可是自定義實現的確比較麻煩,最終終於找到了apple官方支持這個的方法,也是github上的一個大牛,用OC方式實現了:3d
https://gist.github.com/marksands/76558707f583dbb8f870code
調用了apple官方的API:blog
func tableView(tableView: UITableView!, editActionsForRowAtIndexPath indexPath: NSIndexPath!) -> [AnyObject]!
大牛都用OC實現了,我再複製過來也沒意思,因此我用Swift語言實現下,代碼以下:it
func tableView(tableView: UITableView!, editActionsForRowAtIndexPath indexPath: NSIndexPath!) -> [AnyObject]! { var moreAction: UITableViewRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "More", handler:{(tableViewRowAction:UITableViewRowAction!, index:NSIndexPath!) -> Void in println("More tap") }) moreAction.backgroundColor = UIColor.lightGrayColor() var deleteAction: UITableViewRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Delete", handler: {(tableViewRowAction:UITableViewRowAction!, index:NSIndexPath!) -> Void in println("Delete tap") }) deleteAction.backgroundColor = UIColor.redColor() return [deleteAction, moreAction] }
這個代碼在Xcode6-Beta5下正常運行,而且成功輸出"More tap" & "Delete tap"io
剩下的代碼,能夠本身補全,剩下的個經常使用的操做方式同樣,或者能夠參照github上大牛的代碼。table
如今只是向左滑動有按鈕,若是向右滑動也有按鈕就行了,若是能夠簡單實現,我在寫上來。