Cocoa 在TableViewCell中布局子视图,而不添加到NSTableView

Cocoa 在TableViewCell中布局子视图,而不添加到NSTableView,cocoa,nstableview,nslayoutconstraint,Cocoa,Nstableview,Nslayoutconstraint,我有一个NSTableViewCell的子类,其中有几个控件,我需要其中一个控件的宽度来计算行的高度 由于不允许从tableView:heightOfRow获取单元格,因此我需要计算高度,同时考虑单元格内文本字段的宽度和该行中的字符串 我想我应该创建一个静态单元格,给它一个具有当前宽度的框架,让它计算并执行布局,然后得到文本字段宽度的结果宽度 这是应该让我知道“nameTextField”宽度的代码 单元子视图基于约束。它们工作正常。但在这里,nameTextField帧始终为零。单元是否需要超

我有一个NSTableViewCell的子类,其中有几个控件,我需要其中一个控件的宽度来计算行的高度

由于不允许从tableView:heightOfRow获取单元格,因此我需要计算高度,同时考虑单元格内文本字段的宽度和该行中的字符串

我想我应该创建一个静态单元格,给它一个具有当前宽度的框架,让它计算并执行布局,然后得到文本字段宽度的结果宽度

这是应该让我知道“nameTextField”宽度的代码

单元子视图基于约束。它们工作正常。但在这里,nameTextField帧始终为零。单元是否需要超级视图来进行布局?或者还缺少什么?

这就成功了:

   [taskCell layoutSubtreeIfNeeded];
   [taskCell layoutSubtreeIfNeeded];