问题标签 [nstablecolumn]

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 回答
5084 浏览

swift - 在 Swift 中使用 Bindings 以编程方式创建基于视图的 NSTableView

我正在阅读 Swift 中的 Cocoa 书籍,但我被困在关于 Bindings 的一章中。这本书使用了 nib 文件,但我想以编程方式完成所有事情(因为我加入了一个不使用 nib 的团队)。该项目是创建一个具有 2 列的基于视图的表,并且表的内容绑定到数组控制器的排列对象。数组控制器的内容绑定到 Employee 对象数组(Employee 有 2 个属性,即姓名和薪水)。

我能够以编程方式创建表格,如下所示(一个滚动视图、一个表格视图、2 个表格列):

如您所见,我不知道该表是基于单元格还是基于视图。我怎么知道我的表是基于什么的?由于这一章是关于绑定的,所以没有使用委托或数据源方法,我也想这样做。

下一个问题:就像我说的,这本书使用了NIB,并且可以访问它下面的NSTableView、NSTableCellView 和NSTextField。首先,NSTableView 的内容被绑定到数组控制器的排列对象上。因为我自己在代码中创建了 tableView 对象,所以我能够以编程方式完成这部分。然后书将 NSTextField 的值绑定到 NSTableCellView 的 objectValue.name(名称是 Employee 对象的属性之一)。由于我没有在我的代码中创建这些 NSTableCellView 和 NSTextField 对象,我该如何做这部分?有没有办法访问它们(假设我的表甚至是基于视图的)?

0 投票
1 回答
74 浏览

nstablecolumn - 与 NSTableView 自动保存功能一起使用的列标识符必须符合 NSCoding 协议:(null)

场景:
我将一个 NSTableColumn 传递到一个函数中,我从中切换它的隐藏标志:

如何使列标识符符合 NSCoding?

或者......这是一个错误?

0 投票
1 回答
1055 浏览

cocoa - 如何在 Cocoa NSTableView 中添加列?

我想在 NSTableView 中显示数据。列数未指定(可能是从 1 到 ?? 取决于数据),所以我不能使用 Interface Builder。
因此,我将(使用 IB)我的表初始化为 1 列,然后根据需要添加新列(然后删除不再需要的第 0 列)。对于每个添加的列,我提供一个唯一标识符。到目前为止,一切都很好。
我实现了tableView(-:viewForTableColumn:row)函数,如下所示,但是makeViewWithIdentifier返回nil。怎么了 ?
如果我检测到nil返回,我会创建一个具有正确标识符的NSTableCellView实例。但数据未在表中显示。有什么问题?

代码如下(删除了不必要的行):

0 投票
2 回答
1234 浏览

macos - NSWindow 调整大小时调整表列大小

我正在开发一个使用 NSTableView 的 Cocoa 应用程序。

现在,我希望在用户调整窗口大小或最大化窗口时,通过从角落拖动应用程序或单击缩放按钮,自动调整表格视图中列的宽度。

任何帮助将不胜感激。

0 投票
1 回答
1816 浏览

swift - 如何从 NSTableView 中选择列和行?

我正在编写一个基于 NSTableView 的视图。我尝试使用: let selectedRowNumber = tableViewMesos.selectedRowlet selectedColumnNumber = tableViewMesos.selectedColumn识别要保存到数组中的单元格视图中的文本字段:

但是这里发生了一个问题,因为 的返回值为selectedColumnNumber-1 ,这是从任何列中选择的任何行的未选择列的值。但是selectedRowNumber正确地返回了行的索引。

因此,当完成单元格中文本字段的编辑时,程序会崩溃。因为 selectedColumnNumber 在数组的限制之外是 -1。请参阅下面的代码以确定发生这种情况的确切位置。

你可以帮帮我吗?我在这方面浪费了太多时间。我是 OSX 编程的新手,希望你能帮助我。

应用布局

这是完成的代码:

}

0 投票
0 回答
201 浏览

cocoa - Unable to change NSTableHeaderCell font on El Capitan

I'm developing a Cocoa App (OSX) and, in my tableview, I want to change the font of all of my columns.

I'm using the cell-based version.

Strangely, It is not possible to do it by using Interface Builder (IB). Each time, it forces me to use the font "System Small" !

But, if I activate the "hidden" checkbox, It allows me to change the font! So stupid!

So in my code (a derived class of NSTableView) I change the font of all my columns like that :

[ tableColumn setHeaderCell:tableHeaderCell ];

But, the font is always the small font on OSX El Capitan 10.11.4 : Result on El Capitan

Whereas, the same code in Yosemite displays the correct font :

Result on Yosemite

I don't understand why?

Is there a specific thing to do in El Capitan with NSCell?

Thanks for any help.

0 投票
0 回答
107 浏览

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

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

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

谢谢你的时间,丹。

0 投票
1 回答
1155 浏览

swift - 尝试使用 NSTableView

我是一名 iOS 开发人员,我正在创建我的第一个 Mac 应用程序。尝试使用 NSTableView 时遇到一些困难。

在此处输入图像描述

为什么没有显示值“test”的单元格?(在运行时,不包括此截图)

0 投票
1 回答
204 浏览

objective-c - 是否可以以编程方式绑定在 Cocoa 中设置连续更新的两个关键路径?

在 macOS Cocoa 应用程序中,如果我有两个 NSSlider 对象,我可以以编程方式设置以下绑定:

这有效,但不会持续更新,除非我在界面构建器的检查器中为滑块设置了“连续”复选框。我的问题是我想设置其他不公开连续设置的属性之间的绑定,特别是两个 NSTableColumn 实例。是否可以通过在绑定代码中设置选项来连续绑定?

0 投票
1 回答
55 浏览

swift - NSTableColumn 使用 Core Data 字典排序

模型

customFields 键和值是字符串。

绑定

列是在代码中创建的,因为用户可以添加/删除列。

问题

单击列标题时,排序将不起作用。值只是字符串,但似乎它们不被视为这样。知道问题可能出在哪里吗?谢谢!

更新

  • 处于NSTreeController实体模式
  • 这是一个基于视图的大纲视图(现在仍然使用基于单元格的视图吗??)
  • 对于静态列(在 IB 中定义),排序有效
  • 当我对动态列进行排序时,什么也没有发生(没有错误)
  • 我想这些值不被视为字符串,因为它是一个不使用泛型的 NSDictionary

更新 2

在另一个项目中,我成功地做到了。唯一的区别是字典不是,而是 whereMyObjectvaluetype 的属性String。使用以下代码启用排序:

或者这也有效:

我不知道为什么它在这种情况下有效,而不是在上面。