我有一个表格,显示包含一些用户输入数据的自定义单元格。这些数据的长度各不相同,因此我正在实现tableview.rowHeight = UITableViewAutomaticDimension。
这很好用,但我希望标签的插图为10x10x10x10。当我覆盖自定义标签上的drawTextInRect时,将绘制插图并且工作正常。
问题是自动调整大小似乎没有考虑新的插图,因此截断标签文本,我无法弄清楚如何解决这个问题。
通过在绘制rect并返回单元格之前执行println(),我发现在绘制插图之前返回了单元格,这会让我相信我需要在某处更新单元格内容来修复它?
CustomNoteLabel
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 :(得分:0)
在玩了一下之后,我将标签Auto-Shrink设置为最小字体刻度0.75,这已经解决了这个问题。