上一篇总结了一下UItableVIEw的简单实现,但自带的UItableVIEw的往往不能满足于我们的需求,所以很多时候都需要我们自定义cell,下面就简单的总结下自定义UitableVIEwCell的步骤:
总所周知,在ios8以后UItableVIEwCell的分割线左边就会有间隙,往往很多需求却是要补全的,所以在自定义的cell里面可以设置:
首先:建立一个类,集成UitableVIEwCell,当然需要实现他们的构造方法,重写drawRect方法,实现如下:
/** * 自定义cell分割线 */ overrIDe func drawRect(rect: CGRect) { let context = UIGraphicsGetCurrentContext() CGContextSetFillcolorWithcolor(context,UIcolor.clearcolor().CGcolor) CGContextFillRect(context,rect) //下分割线 CGContextSetstrokecolorWithcolor(context,UIcolor.graycolor().CGcolor) CGContextstrokeRect(context,CGRectMake(0,rect.size.height,rect.size.wIDth,1)) }
当然如果需要重新修改Cell的样式需要在初始化方法里面,如下所示:
overrIDe init(style: UItableVIEwCellStyle,reuseIDentifIEr: String?) { super.init(style: style,reuseIDentifIEr: reuseIDentifIEr) //初始化UILabel label = UILabel(frame: CGRectMake(self.frame.size.wIDth-100,100,self.frame.size.height)) label?.textcolor = UIcolor.redcolor() label?.textAlignment = NSTextAlignment.Center label?.Font = UIFont.systemFontOfSize(15.0) self.contentVIEw.addSubvIEw(label!) }
在UitableVIEwCell中 *** 作完了,接下来就需要在调用这个cell的类里面 *** 作的:
在初始化UItableVIEw的地方,需要注册cell的类,如下所示
tableVIEw?.registerClass(tableVIEwCell.self,forCellReuseIDentifIEr: "CELL")
之前在cell里面重绘了cell的分割线,所以在实现的地方,你需要先去除系统自带的分割线
tableVIEw?.separatorStyle = UItableVIEwCellSeparatorStyle.None
最后就是在你需要展示数据的方法里面实现自定义cell的类,如下所示:
/** * 显示数据源的数据方法 */ func tableVIEw(tableVIEw: UItableVIEw,cellForRowAtIndexPath indexPath: NSIndexPath) -> UItableVIEwCell { let cell = tableVIEw.dequeueReusableCellWithIDentifIEr("CELL") as! tableVIEwCell // if cell == nil{// // cell = UItableVIEwCell(style: .Default,reuseIDentifIEr: "CELL")// } let row = indexPath.row cell.selectionStyle = UItableVIEwCellSelectionStyle.None cell.textLabel?.text = items![row] as? String cell.label?.text = focus![row] as? String return cell }
展示如下所示:
总结
以上是内存溢出为你收集整理的swift中实现UITableView总结二全部内容,希望文章能够帮你解决swift中实现UITableView总结二所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)