Swift项目使用SWTableViewCell

SWTableViewCell的功能是添加TableViewCell的侧滑按钮(包括左滑和右滑按钮)

项目地址: https://github.com/CEWendel/SWTableViewCell

它是用OC写的,可以用pod安装,也可以直接导入到项目中去,但是如果是swift项目,pod中已经安装了其他的一些库,可能会出现编译的问题,所以这里我就没有使用pod,直接导入到项目中:

1 下载SWTableViewCell项目代码

2 将其中的项目类文件(podfiles文件夹下的)copy到自己的swift项目中去:

在项目桥接文件(Bridging-Header.h)中添加

#import “SWTableViewCell"

(这里编译的时候有个问题,“NSMutableArray+SWUtilityButton.h”会编译出错,可能是因为少了引用#import <UIKit/UIkit.h>的缘故,添加以下就可以了)

4 下面就可以使用SWTableViewCell了

让自己的tableViewCell继承自SWTableViewCell

比如想要添加右边的侧滑按钮“修改”

可以在tableViewCell中添加方法

func addSwipeRightButtons() -> Void{
        var rightButtons : [AnyObject] = [AnyObject]()

        var deleteButton = UIButton()
        deleteButton.backgroundColor = ZMColor.CellEdit.toUIColor()
        deleteButton.setTitleColor(UIColor.whiteColor(), forState: .Normal)
        deleteButton.setTitle("修改", forState: .Normal)
        deleteButton.titleLabel?.adjustsFontSizeToFitWidth = true
        rightButtons.append(deleteButton)

        self.rightUtilityButtons = rightButtons
}

然后在UITableViewDelegate中的canEditRowAtIndexPath方法中return false来禁止系统自带的一个删除选项

同时在cellForRowAtIndexPath中cell.delegate = self

然后实现SWTableViewCell的delegate

extension ViewController: SWTableViewCellDelegate{
    func swipeableTableViewCell(cell: SWTableViewCell!, didTriggerRightUtilityButtonWithIndex index: Int) {
        switch index{
        case 0:
            UIAlertView(title: "通知", message: “点击了修改按钮", delegate: nil, cancelButtonTitle: "确定").show()
            break
        default:
            break
}

(注意: 因为TableViewCell继承了SWTableViewCell,因此如果在自己的tableViewCell中添加一个delegate,那么名字就不能叫”delegate”了,因为SWTableViewCell本身就有一个,这样会编译出错了)

时间: 2024-10-08 02:40:25

Swift项目使用SWTableViewCell的相关文章

Swift项目兼容Objective-C问题汇总

本文是投稿文章,作者:一叶(博客)欢迎将原创文章或者译文投给我们,投稿方式:[email protected]或者在首页点击“投稿爆料” 一.解决问题 Swift 项目需要使用封装好的Objective-c组件.第三方类库,苹果提供的解决方案能够处理日常大部分需求,但还不能称之为完美,混编过程中会遇到很多问 题.本文将Swift兼容Objective-c的问题汇总,以帮助大家更好的使用Swift,内容列表如下: 1. Swift调用Objective-c代码 2. Objective-c调用Sw

Swift项目引入第三方库的方法

以下,将创建一个Swift项目,然后引入3个库: Snappy 简化autolayout代码的库 Alamofire HTTP网络库,AFNetworking作者写的 SDWebImage 图片加载,objc项目,通过头文件bridge方式供swift使用 其中,前两个是Swift的库,SDWebImage是Objc的库. 源代码见:https://github.com/MarshalW/SwiftWith3rdLibDemo 项目跑起来是这个样子: 做下面步骤之前,需要让自己的项目是git项目

在 Swift 项目中实现侧滑菜单-利用 SWRevealViewController

你可以完全自己手动写一个侧滑菜单,但是现在在 GitHub 上面已经有很多免费的开源库了,如果不是有很特别的需求,大可不必新建一个轮子. 在这里我使用的这个第三方库名字叫做 SWRevealViewController,作者是 John Lluch.这个免费的类库提供了很方便快捷的方法去把侧滑菜单加入到你的 App 里面,而且它还提供了很多个性化的设置项.它是用 Objective-C 来写的,但是我们也可以很方便的在 Swift 项目中去使用它.你分分钟便可学会如何使用. 首先来看一下我们的

Swift项目实战-基于分层架构的多版本iPhone计算器-免费直播公开课邀您参与

Swift项目开发实战-基于分层架构的多版本iPhone计算器-直播课 好消息:买本课程送相关讲师图书+50金币课程优惠券!还有更好消息,为了回馈新老学员,本次采取直播免费,录播收费的形式哦~! 购买本课程赠送关东升老师价值69元国内第一本<Swift开发指南>,并且赠送50元优惠券一张.69+50>99.(购买课程后请联系客服QQ:1575716557) 本课程采用QQ群直播方式进行直播,直播免费看了,完整的基于Swift项目实战,手把手教你做一个Swift版iPhone计算器. 直播

Swift学习第二练——Swift项目时光电影

Swift学习第二练--Swift项目时光电影 很早以前的一个OC的练习项目,用swift重新写了一遍,因为xcode版本的更新对swift的兼容度也在不断改变,此版本适用于xcode6.1. 这个项目中,用swift将iOS官方SDK中的HTTP进行了封装,使用了swift编写的异步加载网络图片的方法.练习了用swift操作界面布局,跳转界面等的方法. 下面是封装的下载类的核心代码: private var httpConnection:NSURLConnection? class ZYHHt

Swift 项目中常用的第三方框架

Swift 项目中可能用到的第三方框架 字数1004 阅读4091 评论17 喜欢93 这里记录下swift开发中可能用的框架 , 最近浏览了不少,积累在这里,以后用的时候方便查阅.顺便推荐给大家! 这里的框架都是纯swift的 , 感谢开源 ,感谢大神们 . 下拉刷新 BreakOutToRefresh 一个下拉刷新打砖块的swift库 SDRefreshView 简单易用的上拉和下拉刷新 ZLSwiftRefresh - 下拉刷新/上拉加载更多,支持自定义动画,集成简单 GearRefres

swift项目初始化并添加忽略文件Swift.ignore

1 先去GitHub上去把最新的忽略文件下载下载 https://github.com/github/gitignore 2 然后找到Swift.gitignore  把里面的 pod 前面的# 删除然后保存  3 去码云上新建一个项目 然后把项目克隆到本地 git clone  [email protected]:******** 把刚刚的忽略文件放在克隆下来的项目里 进去  cd 当前的项目  然后输入命令 mv Swift.gitignore  .gitinore  隐藏忽略文件 /* d

swift项目中使用OC/C的方法

假如有个OC类OCViewController : UIViewController类里有两个方法 //swift调用oc或c的混编是比较常用的,反过来的调用很少.这里只写了swift调用oc和c的方式.//OC函数声明- (void)testOC;//C函数声明void testc(); 实现:void testc(){  printf("testc.....................");} -(void)testOC{  NSLog(@"\ntestOC.....

Swift项目开发实战-基于分层架构的多版本iPhone计算器-直播公开课

本课程采用Q Q群直播方式进行直播,价值99元视频课程免费直播.完整的基于Swift项目实战,手把手教你做一个Swift版iPhone计算器.(直播过程也有惊喜!)直播Q Q群:362298485(直播时点击群视频即可进入直播课堂)直播时间:8月26日(周二),9月2日(周四),每天20:00-22:00欢迎咨询客服Q Q:1575716557直播后希望继续深入学习了解本课程可在51CTO学院购买本课程,定价99元.购买课程更有惊喜:买课程送书,送优惠券了! 购买本课程赠送关东升老师价值69元国