问题标签 [nstablecellview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
707 浏览

macos - 如何使用具有动态创建列的表正确创建 NSTableCellView

我正在尝试使用 Swift 3 为 macOS 创建桌面应用程序。

我的窗口有两个基于视图的表,其中一个表显示具有有效负载大小的数据包列表。选择数据包时,第二个表显示有效负载字节。由于有效负载大小不同,第二个表具有以编程方式创建的列;选择的最大数据包大小确定最大列数。

如果我使用基于单元格的表格,我没有问题,但我更喜欢对两个表格都使用基于视图的表格。

列已创建

问题出现在viewFor委托方法中,其中

返回nil

如果我NSTextField直接返回 a 或NSTableCellView使用 aNSTextField作为子视图创建 a ,它将起作用:

这种方法需要更多的单元格样式,我可能应该子类化NSTableCellView.

我的问题是为什么该make(withIdentifier:owner:)方法不适用于动态创建的列?创建列时是否遗漏了什么?

有没有办法可以创建NSTableCellView并使用该textField属性?

0 投票
2 回答
522 浏览

objective-c - 如何像这样为 NSTableCellView 进行拖放

我正在尝试实现一个看起来像屏幕截图的拖放NSTableCellView,但我唯一能做的就是文本,而不是像下面的屏幕截图这样的整个单元格:(

在此处输入图像描述

0 投票
1 回答
556 浏览

macos - NSTableView,每行有两个自定义表格单元格视图(MacOS)

我有一个单列,基于视图的 NSTableView,我想在其中放置两个不同的自定义单元格视图,一个在每一行中与另一个交替,如下所示:

奇数行:OddRowNumberCellView. 偶数行:EvenRowNumberCellView.

Natasha 在她评价很高的答案UITableview 中有一个 iOS 解决方案,其中有多个使用 Swift 的自定义单元格,但它取决于属性检查器中的动态原型设置,这是 MacOS 不可用的功能。

请问有人知道如何在Mac上执行此操作吗?(我使用的是 macOS Sierra 10.12.4。)

0 投票
1 回答
472 浏览

swift - 聚焦 NSTableCellView 中的字段以进行即时编辑

我想以编程方式将焦点设置在表格中的 NSTableCellView 中的两个编辑字段之一上,其中一行中有一列,以便用户可以立即编辑该字段。在我的示例中,我可以选择行(按下按钮后),但我找不到将焦点设置在特殊字段上的方法。

在我的示例中,我想将光标设置在第 3 行的倾斜字段上。

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
24 浏览

autolayout - ios 10 自动布局单元格视图不可见

自动布局世界的新手,我似乎无法将表格相对于单元格中的父内容视图右对齐。左对齐有效,但是在较小的屏幕上预览和在 6s 上运行时,标签不可见/被切断。

根据this thread,解决方案是确保tableview正确固定到父视图控制器(0,0,0,0) - 但仍然没有修复我的标签。

任何帮助表示赞赏。

在此处输入图像描述

0 投票
0 回答
116 浏览

swift - 焦点(nextKeyView)在表格视图中逐行流动

在我的示例中,我有 tableview

例如,如果第 2 行“Dr”中的第二个文本字段具有焦点,我想将第 3 行“tom”中的第一个文本字段聚焦在“tab”之后

我可以像这样在 tableview 中“显式”地逐行执行此操作:

但我认为这很不雅。有没有更好的方法来实现这一目标?

在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
417 浏览

objective-c - 我们如何从 OS X 中的 NSTableView 中删除多余的行?

我需要从 NSTableView 和 NSOutlineView 中删除未使用的单元格行。在 UITableView 我们有 tablefooter 的属性。NSTableView 有什么吗?

请检查代码和对此的一些描述。

dataArr 是一个包含 SearchItem 类型对象的数组,它们只是数据的模态而已。dataArr 有 4 个对象意味着总共 4 行将出现在 NSOutline 视图中。

((SearchItems *)item).children 是 OutlineView 子项对应单个 SearchItems 的数据数组。每行有 2 个孩子,因此当您展开行时,将显示 2 个孩子。

0 投票
1 回答
1009 浏览

macos - NSOutlineView - 获取给定项目的 NSTableCellView

我的基于视图的大纲视图为其行显示了一个自定义上下文菜单(右键单击菜单)。

菜单上的菜单项之一是“重命名...”,菜单项的representedObject属性设置为大纲视图行表示的对象:

在操作方面,我想以编程方式使表格单元格中的文本字段可编辑。问题是,我不确定如何仅从表示的对象中获取对表格单元格的引用。

这是我的操作方法:

我可以获得表示对象(Int)的行:

...和行视图(NSTableRowView):

我可以获得列索引(Int)和列(NSTableColumn):

...并尝试获取单元格视图(NSTableCellView):

最后,我尝试使文本字段可编辑:

所有这些测试都通过(我设置了断点),但没有任何反应:文本字段无法编辑(与双击时不同)。

我究竟做错了什么?


编辑我意识到当我打电话时:

这基本上NSOutlineViewDelegate是我的视图控制器正在实现的方法,所以不是给我屏幕上已经存在的单元格,而是按需创建一个新副本。有点像打电话

...而不是调用:

UITableView.cellForRowAt(_:) // 表格视图方法正确;如果 // 已经在屏幕上,则返回现有单元格,否则返回数据源(方法 // 上面)

因此,我应该查询大纲视图本身,而不是调用重新创建单元格视图的委托方法。但是,我能看到的唯一有意义的方法是:

...返回一个 NSTable视图...

0 投票
2 回答
1346 浏览

macos - 如何在 macOS 可可上创建带有突出显示的鼠标悬停单元格的表格?

我正在尝试创建一个托盘弹出应用程序,其表格与 Dropbox 在其弹出窗口视图中的表格非常相似。有一个文件表格,当您将鼠标悬停在表格单元格上时,单元格将突出显示并显示其他控件。我不确定 NSTableView 是否适合这个?有人有建议吗?

带有突出显示的单元格的 Dropbox 弹出式表格

0 投票
0 回答
107 浏览

objective-c - NSTableView - 删除列中的行

有没有办法删除特定列中的一行NSTableView?如果我使用以下代码:

所有索引为 0 的行都被删除(在所有列中),这不是我想要的。我只想删除第 2 列中的第 0 行。这可能吗?

谢谢你的时间,丹。