首页 > 代码库 > TableViewCell Swipe to Delete and More Button(like mail app in iOS7 or later)
TableViewCell Swipe to Delete and More Button(like mail app in iOS7 or later)
在iOS7系统的Mail App中TableViewCell的一个功能让我们做TableView的比较羡慕,就是滑动cell,右边出现了两个按钮,如下:
网上在github上有很多大牛用custom tableViewCell的方法实现了这个效果,甚至更强,比如这两位:
https://github.com/CEWendel/SWTableViewCell
https://github.com/daria-kopaliani/DAContextMenuTableViewController
但是自定义实现的确比较麻烦,最终终于找到了apple官方支持这个的方法,也是github上的一个大牛,用OC方式实现了:
https://gist.github.com/marksands/76558707f583dbb8f870
调用了apple官方的API:
func tableView(tableView: UITableView!, editActionsForRowAtIndexPath indexPath: NSIndexPath!) -> [AnyObject]!
大牛都用OC实现了,我再复制过来也没意思,所以我用Swift语言实现下,代码如下:
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"
剩下的代码,可以自己补全,剩下的个常用的操作方式一样,或者可以参照github上大牛的代码。
现在只是向左滑动有按钮,如果向右滑动也有按钮就好了,如果可以简单实现,我在写上来。
TableViewCell Swipe to Delete and More Button(like mail app in iOS7 or later)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。