Joh*_*ton 6 macos cocoa nstableview
我有NSTableView一个非常小的固定行数.
当我NSTableView在Interface Builder中创建时,NSTableView它包含在一个NSScrollView.我还没有找到一种方法使表存在于滚动视图的上下文之外.由于表只有少量行,我不希望它滚动.我希望表格根据行数调整大小,我希望底部边框位于最后一行的底部.
如果我按如下方式设置滚动视图的高度,我会得到一个垂直滚动条:
height = (numRows * (rowHeight + intercellSpacingHeight))
Run Code Online (Sandbox Code Playgroud)
如果我向该高度添加一个像素,我没有得到滚动条,但我在最后一行的底部和底部边框之间得到一个额外的像素.
如果取消选中Interface Builder中的"显示垂直滚动条"复选框,则滚动条不会出现,但当我选择最后一行时,表格会向下滚动一个像素.
有没有办法让桌子根本不滚动,并且最后一行的底部边框?
谢谢.
你awakeFromNib可以写一些类似的东西(未经测试):
NSScrollView *scrollView = [tableView superview];
NSView *container = [scrollView superview];
[[tableView retain] autorelease];
[tableView removeFromSuperview];
[scrollView removeFromSuperview];
[container addSubview:tableView];
[container setFrameSize:[tableView frame].size];
Run Code Online (Sandbox Code Playgroud)
或者,在 Interface Builder 中,您可以通过更改为列表视图模式(主菜单 -> 查看 -> 作为列表)从滚动视图中提取表格视图。然后展开视图层次结构,直到看到表视图。您可以将其拖出滚动视图,但不能拖到另一个视图中。您只需将其连接到插座并以编程方式将其添加到视图中即可。
当行数发生变化时,您仍然需要更新容器的高度。
| 归档时间: |
|
| 查看次数: |
3943 次 |
| 最近记录: |