【发布时间】:2016-09-22 16:24:14
【问题描述】:
编辑:链接的回复没有回答这个问题。我仍然坚持这个......
我有一张用于聊天消息的表格。每条消息都是一个包含一些文本的大小可变的框。我希望表格中的行高根据消息框的大小动态变化。
如果我在 IB 中为尺寸样式勾选“自动”,它会使所有行的高度都很小。看起来 iOS 有 UITableViewAutomaticDimension 可以自动缩放表格,但我找不到 NSTableView 类似的东西。
我知道有一个选项可以创建以下函数:
func tableView(_ tableView: NSTableView, heightOfRow row: Int) -> CGFloat
{
return 50 // ????
}
并且我可以使用它设置行高(上面将我的所有行设置为高度 50),但我不知道如何使它取决于我框中文本的大小。我怎样才能有效地做到这一点?
【问题讨论】:
-
非常感谢您的回复!对我来说,答案在 Sunkas 对 Corbin 帖子的阐述中。但两者都在 Objective-C 中,我很难弄清楚如何将它们翻译成 Swift。有没有人可以在这里发布 Swift 版本作为答案?
-
另外,Corbin 的答案是否会在调整窗口大小时或仅在重绘表格时调整行大小?后者是有问题的,因为如果用户水平缩小窗口,那么消息会变得更高更薄,正如人们所期望的那样......
标签: cocoa nstableview swift3