在tableView viewForTableColumn中设置NSTextField框架高度不起作用

时间:2015-08-13 22:43:42

标签: macos swift nstableview nstextfield

我有一个.xib,其中显示了2-3个NSTextFields(如下所示)。我想调整其中一个NSTextFields,以便最适合它显示的内容。我的问题是我根本无法改变viewForTableColumn中文本字段的大小。

enter image description here

我已经成功设置了我的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
}

如您所见,“主题”字段的框架保持不变。

enter image description here

有趣的是,即使打开AutoLayout,框架的大小也始终是“界面”构建器中设置的默认大小。

我的结论是我试图用错误的方法做到这一点。

我已经能够在一个简单的非基于表的viewController中调整框架大小没有问题。

0 个答案:

没有答案