您的位置:首页 > 其它

TableView cell 分割线

2015-06-02 15:42 357 查看
tableView.separatorStyle = UITableViewCellSeparatorStyle.SingleLine

在iOS 6上显示是从左到右的一条线,没有空隙,到了iOS7,8 之后就不是了。不过现在加上几句代码就可以了。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell : UITableViewCell! = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell
cell.textLabel!.text = ( dataSource[indexPath.section] as! Array<AnyObject>)[indexPath.row] as? String
// cell的分割线显示为从左到右.也可以在willDisplayCell这个方法里面显示
if tableView.separatorStyle != UITableViewCellSeparatorStyle.None {

if cell.respondsToSelector("setSeparatorInset:") {
cell.separatorInset = UIEdgeInsetsZero
}
if cell.respondsToSelector("setLayoutMargins:") {
cell.layoutMargins = UIEdgeInsetsZero
}

if cell.respondsToSelector("setPreservesSuperviewLayoutMargins:") {
cell.preservesSuperviewLayoutMargins = false

}
}
return cell
}
以上那几句关键的代码也可以移动到以下这个方法里:
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {

}


注:之前没发现这个方法时,都是在cell里面加了一个View,然后

self.tableView.separatorStyle =UITableViewCellSeparatorStyle.None,也可以实现同样的效果。现在瞬间鄙视自己了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: