添加附件时,自定义UITableViewCell的大小不正确

时间:2015-01-09 04:06:30

标签: ios uitableview swift

在设置附件时,我无法正确调整自定义UITableViewCell的大小。为什么附件会在初始显示屏上打破细胞大小?当我使用附件集滚动时,大小调整自身 - 但是,初始视图没有正确调整大小。

我已多次观看WWDC14(桌面视图中的新内容)视频,并且我已阅读了许多stackoverflow问题并尝试了许多解决方案。我想我已经解决了大部分问题 - 单元格会为动态文本调整大小 - 但我对这种奇怪的初始行为感到困惑。我正在运行部署到iOS 8.1的XCode 6.1.1。

我正在使用故事板。我有一个UITableViewController和自定义UITableViewCell。我在故事板中定义了约束,并且没有约束警告,我在运行时看到控制台中没有约束消息。

在我的UITableViewController viewDidLoad()

tableView.estimatedRowHeight = 44
tableView.rowHeight = UITableViewAutomaticDimension

使用覆盖

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("TableViewCell", forIndexPath: indexPath) as TableViewCell

    cell.configure(titles[indexPath.row])

    return cell
}

这是我的整个自定义UITableViewCell

class TableViewCell: UITableViewCell {

@IBOutlet weak var titleLabel: UILabel!

func configure(title: NSString) {
    titleLabel.text = title
    titleLabel.font = UIFont.preferredFontForTextStyle(UIFontTextStyleBody)
}

override func layoutSubviews() {
    super.layoutSubviews()
    titleLabel.preferredMaxLayoutWidth = frame.width
}

}

这是在单元格上设置Accessory None时的样子

enter image description here

这是我在单元格上设置附件披露指标时的样子

enter image description here

同样,当我使用附件设置滚动时,尺寸会自行修正。我尝试在故事板中为单元格添加垂直约束,并且通过编程方式添加所有约束但没有成功。谢谢你的任何想法。

1 个答案:

答案 0 :(得分:0)

我也通过故事板设计的自动调整单元格看到了这个问题。尝试将self.layoutIfNeeded()添加到您的单元格类中的didMoveToSuperview覆盖中。我不知道这是不是一个错误,或者我们只是错过了我们应该做的事情。