如何以编程方式更改 NSTableView 高度

Posted

技术标签:

【中文标题】如何以编程方式更改 NSTableView 高度【英文标题】:How to change NSTableView Height programmatically 【发布时间】:2014-07-10 23:03:16 【问题描述】:

我正在 Xcode 5 中为 MacOSX 开发应用程序。

我有一个 NSTableView,我正在以编程方式填充数据

我想知道如何根据包含的行数以编程方式更改 TableView 高度,我尝试了一些方法但不起作用,这是我的代码:

NSRect frame = _tableView.frame;
frame.size.height = [myDataArray count]*22;

[_tableView setFrame: frame];

但是我在屏幕上仍然有相同的tableView的高度,如何适应它?

【问题讨论】:

【参考方案1】:

我认为你想要调整的是父 NSScrollView 的大小,因为它包含你的 NSTableView 所以让 IBOutlet 像这样指向你的 NSTableView 的 NSScrollView

@property (weak) IBOutlet NSScrollView *scrollview;

然后你可以应用你的公式

NSRect frame = _scrollview.frame;
frame.size.height = [myDataArray count]*22;

[_scrollview setFrame: frame];

【讨论】:

以上是关于如何以编程方式更改 NSTableView 高度的主要内容,如果未能解决你的问题,请参考以下文章

如何根据布局高度以编程方式更改视图高度

如何以编程方式更改 stackView 内单个 UIView 的高度?

如何以编程方式更改 UICollectionView 页脚视图高度

以编程方式更改约束布局中的高度?

以编程方式绑定一个 NSTableView

以编程方式创建 NSTableView 和自定义 NSViewController