使用 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 设置自动布局

在自包含的自定义 UIView 子类中使用 .xib 文件进行原型设计

iOS:使用 xib 的自定义视图

为啥我的自定义 UITableViewCell 没有显示?