注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

罔少年

QQ 332256483

 
 
 

日志

 
 

UITableView 那些小事  

2015-09-30 10:12:51|  分类: swift |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
一、分割线全屏

1、給Tableview设置边距0

curTableView.separatorInset = UIEdgeInsetsMake(0, 0, 0, 0)

curTableView.layoutMargins = UIEdgeInsetsMake(0, 0, 0, 0)

2、給Cell设置边距0

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {

cell.separatorInset = UIEdgeInsetsZero

cell.layoutMargins = UIEdgeInsetsZero

    }


二、cell选中后背景消失

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    tableView.deselectRowAtIndexPath(indexPath, animated: true)

}


三、选中后背景颜色

//7.0>无效

//官方文档 The cell has a default background color when selected,

//in IOS 7, the selection color is no longer blue. Use UITableViewCellSelectionStyleDefault instead

cell?.selectionStyle = UITableViewCellSelectionStyle.Blue


真要改咋办
cellForRowAtIndexPath中

var view = UIView()

view.backgroundColor = UIColor.blueColor()

cell?.selectedBackgroundView = view


四、cell右侧小箭头
cellForRowAtIndexPath中

cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator


五、去掉多余分割线

//设置tableview不能滚动

tableView.scrollEnabled = false

     

//去掉tableView多余分割线

let clearView = UIView()

view.backgroundColor = UIColor.clearColor()

tableView.tableFooterView = clearView

tableView.tableHeaderView = clearView


//或者

tableView.tableFooterView = UIView(frame: CGRectZero)


六、自定义Cell
1、初始化方法中注册cell

self.tableView.registerNib(UINib(nibName: "QGBuyInfoCell", bundle: nil), forCellReuseIdentifier: "QGBuyInfoCell")

2、cellForRowAtIndexPath

 var cell = tableView.dequeueReusableCellWithIdentifier("QGBuyInfoCell") as? QGBuyInfoCell

 if(cell == nil){

      cell = QGBuyInfoCell(style: UITableViewCellStyle.Default, reuseIdentifier: "QGBuyInfoCell")

 }


cell.title.text = "我是标题"



七、设置TableView 不滚动

tableView.scrollEnabled = false


八、设置不能点击
在 cellForRowAtIndexPath()
cell.selectionStyle = UITableViewCellSelectionStyle.None


九、局部刷新
UITableView.reloadDate()其实是很耗性能的,他会调用cell的init(),使所有布局重新绘制
所以需要更新tableView的数据时,最好局部刷新

//刷新第0组的数据

let section = NSIndexSet(index: 0)

mTableView.reloadSections(section, withRowAnimation: UITableViewRowAnimation.Automatic)


  评论这张
 
阅读(24)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017