使用 xib 和自动布局的自定义 UITableViewCell 无法在顶部的多个单元格中正确显示
Posted
技术标签:
【中文标题】使用 xib 和自动布局的自定义 UITableViewCell 无法在顶部的多个单元格中正确显示【英文标题】:Custom UITableViewCell using xib and autolayout doesn`t show correctly in several cells on the top 【发布时间】:2014-11-27 16:08:55 【问题描述】:我使用了名为“SCTableViewCell”的自定义 UITableViewCell,并与“CustomCell.xib”链接并在“CenterViewController”中加载
当它运行时,顶部的几个单元格看起来很糟糕(如下图),然后向下滚动屏幕并再次向上滚动(坏单元格曾经消失并再次出现)看起来很好
它是自定义单元格类 SCTableViewCell.swift
class SCTableViewCell: UITableViewCell
@IBOutlet weak var thumbnailImage : UIImageView!
@IBOutlet weak var titleLabel : UILabel!
@IBOutlet weak var descLabel : UILabel!
func loadItem(#title: String, desc: String, image: UIImage)
titleLabel.text = title
descLabel.text = desc
thumbnailImage.image = image
self.contentView.setTranslatesAutoresizingMaskIntoConstraints(true)
override func layoutSubviews()
override func awakeFromNib()
super.awakeFromNib()
// Initialization code
override func setSelected(selected: Bool, animated: Bool)
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
和 CenterViewController.swift
override func viewDidLoad()
super.viewDidLoad()
//Setting Custom Tableview Cell
self.tableView.registerNib(UINib(nibName: "CustomCell", bundle: nil), forCellReuseIdentifier: "CustomCell")
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
var cell = tableView.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath) as SCTableViewCell
cell.loadItem(title: title!, desc: desc!, image: pic)
cell.updateConstraints()
return cell
控制台什么也没显示.... 请帮帮我...
【问题讨论】:
【参考方案1】:哦! 我没有设置我的单元格高度……哈……哈……
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
return 160
添加到 CenterViewController.swift 中并且可以正常工作
【讨论】:
以上是关于使用 xib 和自动布局的自定义 UITableViewCell 无法在顶部的多个单元格中正确显示的主要内容,如果未能解决你的问题,请参考以下文章
在具有动态高度的 IB uitableviewcell 中使用带有 XIB 的自定义视图
使用 UINavigationBar 和 UIBarButtonItem 自动布局
标签显示超出我的自定义 TableViewCell 范围并通过 swift 设置自动布局