如何根据文本内容增加NSTableView中的行高?

时间:2011-12-23 12:02:25

标签: objective-c macos cocoa nstableview

如何根据文本内容增加NSTableView中的行高。当文本更多时,应增加行高度,删除文本时行应缩小。

我在NSTableView的子类中实现了 textDidChange 通知,但是我找不到任何会增加行高的方法。 NSTableView的setRowHeight将增加tableview中每一行的高度。我想要一个变量行高。可以使用任何示例代码或任何指针来完成此任务。


我找到了以下链接

http://cocoadev.com/forums/discussion/1851/calculating-row-heights

但我无法找到任何关于此的例子!任何关于这个的例子对我来说都是一个很大的帮助!


试图实现以下deleagate

- (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row

通过计算字符串长度,现在我可以增加行高,但 NSTextFieldCell 高度相同。当行高度改变时,如何增加文本字段的高度。

2 个答案:

答案 0 :(得分:1)

corbin dunn gave a solution

  • 修复您的autoresizing / AutoLayout coinstraints,以便文本视图粘贴到其容器上,
  • 借助自定义NSTableCellView计算行高-tableView:heightOfRow: 对象。

答案 1 :(得分:-9)

您可以在方法- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {}中增加tableviewrow的高度。在[tableView reloadData]中调用textDidFinishEditing重新加载表格。

相关问题