TableViewCell Swipe to Delete and More Button(like mail app in iOS7 or later)

在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

如今只是向左滑動有按鈕,若是向右滑動也有按鈕就行了,若是能夠簡單實現,我在寫上來。

相關文章
相關標籤/搜索