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

Posted

技术标签:

【中文标题】如何根据文本内容增加 NSTableView 中的行高?【英文标题】:How to increase the row height in NSTableView based on the text Content? 【发布时间】:2011-12-23 12:02:24 【问题描述】:

如何根据文本Content增加NSTableView中的行高。文本多时行高应增加,删除文本时行高应缩小。

我在我的 NSTableView 子类中实现了 textDidChange 通知,但我没有找到任何会增加行高的方法。 NSTableView 的setRowHeight 会增加tableview 中每一行的高度。我想要一个可变的行高。我可以有任何示例代码或任何指针来完成这个吗?


我找到了以下链接

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

但我找不到任何关于此的示例!。任何关于这方面的例子都会对我有很大的帮助!


尝试实现以下委托

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

通过计算字符串长度,现在我可以增加行高,但是 NSTextFieldCell 高度是一样的。当行高发生变化时,如何增加文本字段的高度。

【问题讨论】:

【参考方案1】:

科尔宾邓恩gave a solution:

修复您的自动调整大小/AutoLayout 约束,使文本视图粘在其容器上, 在自定义 NSTableCellView 的帮助下计算行高-tableView:heightOfRow: 对象。

【讨论】:

【参考方案2】:

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

【讨论】:

注意:问题是关于NSTableView,这个答案是关于UITableView。可可≠可可触感。

以上是关于如何根据文本内容增加 NSTableView 中的行高?的主要内容,如果未能解决你的问题,请参考以下文章

根据表中的行数调整 NSTableView 或 NSScrollView 的大小

NSTableView:直接编辑文本字段而不突出显示整行

如何根据 iphone 中的文本大小动态增加按钮宽度?

与可变高度可编辑NSTextFields在MacOS的应用NSTableView的行

为 NSTableView 单元格绘制带有边框和背景的文本

使用乘法 NSArrayControllers 和 NSTableView 绑定数据