让 NSTableView 行始终保持在同一个位置
我正在尝试在我的应用程序中创建一个垃圾桶系统。我有一个 NSTableView 和一个垃圾桶行。我想让该行“粘”到可见表视图的底部,以便始终可以看到它。是否可以做到这一点,如果不能,是否有更好的方法来做到这一点?
感谢您的帮助
Im trying to make a trash can system in my app. I have a NSTableView
and a trash can row. I want to have the row "stick" to the bottom of the visible table view so it can always be seen. Is it possible to do this and if not is there a better approach to doing this?
Thanks for any help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
放置另一个完全独立的 UIView,位于包含表的视图之上。
只需将其伪造,使其看起来像表中的一行。
正如您所说,“谢谢,听起来只要 [tableview deselectRow:[tableview selectedRow] 工作,它就会工作,所以看起来假行确实在视图中。” ——这正是你所做的。
Sit another utterly separate UIView, on top the views that contain the table.
Simply fake it up to make it look like a row from the table.
As you say, "Thanks that sounds like it will work as long [tableview deselectRow:[tableview selectedRow] works so it appears that the fake row is really in the view." -- that is precisely what you do.
没有受支持的方法可以做到这一点,而且这几乎是不可能的。您可以尝试将“主”表视图嵌入到容器 NSView 中(观察表视图的框架更改,在大小更改时调整大小/执行布局)。此视图将在底部为没有标题的单行表视图留出空间。您可以将除粘性行之外的所有内容提供给“主”表视图,并仅将粘性行提供给较小的表。
There's no supported way to do this and it might be near impossible. You might try embedding your "main" table view in a container NSView (that observes the table view's frame changes resizes / performs layout when the size changes). This view would leave room at the bottom for a single-row table view with no headers. You could feed the "main" table view all but the sticky row, and feed only the sticky row to the smaller table.