Swift / IOS - 使用 tableView.rowHeight = UITableViewAutomaticD



我有一个表格,显示一个包含一些用户输入数据的自定义单元格。这些数据的长度各不相同,因此我正在实现tableview.rowHeight = UITableViewAutomaticDimension。

这工作正常,但我希望标签的插图为 10x10x10x10。当我覆盖自定义标签上的 drawTextInRect 时,插图被绘制并且工作正常。

问题是自动调整大小似乎没有考虑到新的插图,因此截断了标签文本,我不知道如何解决这个问题。

通过在绘制矩形并返回单元格之前

执行 println(),我发现在绘制插图之前返回了单元格,这会导致我相信我需要在某处更新单元格内容来解决此问题?

自定义注释标签

class CustomNoteLabel: UILabel {
    override func drawTextInRect(rect: CGRect) {
    var insets:UIEdgeInsets = UIEdgeInsetsMake(10, 10, 10, 10)
    println("Drawing insets")
    return super.drawTextInRect(UIEdgeInsetsInsetRect(rect, insets))
    }
}

TableViewInit()

    self.tableView = UITableView()
    self.tableView.frame = CGRectMake(0, 200, self.view.frame.width, self.view.frame.height - 200)
    self.tableView.dataSource = self
    self.tableView.delegate = self
    self.tableView.backgroundColor = UIColor.whiteColor()
    self.tableView.scrollEnabled = true
    self.tableView.estimatedRowHeight = 200.0
    self.tableView.rowHeight = UITableViewAutomaticDimension
    self.tableView.separatorStyle = UITableViewCellSeparatorStyle.None
    self.tableView.registerNib(UINib(nibName: "NoteTableViewCell", bundle: nil), forCellReuseIdentifier: "cell")
    self.view.addSubview(tableView)

谢谢大家!

玩了一会儿后,我将标签自动收缩设置为最小字体比例 0.75,这已经解决了这个问题。

最新更新