我有一个.xib,其中显示了2-3个NSTextFields(如下所示)。我想调整其中一个NSTextFields,以便最适合它显示的内容。我的问题是我根本无法改变viewForTableColumn中文本字段的大小。
我已经成功设置了我的heightOfRow。这很好用。
我已关闭该字段的AutoLayout,因为它对我来说效果不佳。
现在在tableView viewForTableColumn中我有以下代码:
func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView?
{
let cell = tableView.makeViewWithIdentifier("MessageView", owner: self) as! MessageView!
var newFrame = cell.messageSubject.frame
newFrame.size.height = 200
cell.messageSubject.frame = newFrame
return cell
}
如您所见,“主题”字段的框架保持不变。
有趣的是,即使打开AutoLayout,框架的大小也始终是“界面”构建器中设置的默认大小。
我的结论是我试图用错误的方法做到这一点。
我已经能够在一个简单的非基于表的viewController中调整框架大小没有问题。