问题标签 [nstableview]

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

cocoa - 在我的 NStableview + cocoa 上未检测到鼠标事件

过去几天我一直在尝试这个,但无法弄清楚。

我有一个具有 NSOutlineView 和 NSTableView 的应用程序。Outlineview 接受输入路径并以树结构的形式显示它们的子内容。因此,当用户在大纲视图中单击特定文件夹时,该文件夹的内容应显示在表格视图中,其属性以列表的形式显示。

现在我可以在两个视图中显示各自的内容,并且大纲视图和表格视图之间的交互是使用委托和通知完成的。

现在我的问题是我希望在两个视图中都检测到鼠标事件,以便我可以通过启用单击来选择、双击以启用打开文件/文件夹和控制+单击以启用上下文来使我的应用程序更具交互性弹出菜单。但奇怪的是没有检测到鼠标事件。

我的应用程序设计非常简单,每个表格和大纲视图都有自己的视图和控制器类,并且它们之间使用通知进行交互。请你们能建议我哪里出错了吗?

我知道我可以单击和双击使用表格视图的 setAction 和 DoubleAction 方法工作,但我无法控制单击工作。我想知道我的应用程序设计有什么问题,因为我的视图没有检测到鼠标事件:(

谢谢

0 投票
2 回答
415 浏览

objective-c - NSTableView 切换栏

我有一个连接到核心数据的 NSTableView。这就是我想要做的。

该表有两列。当我完成第一列的编辑并按 Tab 键转到下一列时,我想根据第一列的数据以编程方式填充第二列。有没有可以帮助我解决这个问题的委托方法?

谢谢

0 投票
2 回答
239 浏览

objective-c - selectedCell 什么时候改变?

我有一个 NSTableView,每当 selectedCell 元素发生变化时,我都想做一些事情。

所以,我的表视图叫做tableView,这就是我要观察的:

我尝试使用键值观察,但这似乎不起作用,或者我做错了。有任何想法吗?

0 投票
5 回答
1068 浏览

cocoa - 如何在 Cocoa 中实现自定义列表?

我想构建一个 Cocoa 应用程序,其条目列表与 Things.app 的 ToDo 列表非常相似(请参阅截屏视频)。问题是我是否应该使用

  1. 一个表视图,
  2. 一个 CollectionView 或
  3. 一个网页视图。

我认为它可以适用于所有这些,但哪一个最适合以下要求?

  • 有一个条目列表-> 1 列和多行
  • 通过拖放重新排序
  • 选择单个条目并使用键进行删除等操作
  • 打开一个条目:该行应展开以显示更多输入字段
  • 定制外观:圆角、阴影、背景渐变

到目前为止,我的研究表明 TableView 具有大部分功能,但在外观上更难自定义,CollectionView 没有拖放(对吗?)但易于设计,WebView 需要付出很多努力才能做到伤害了用户体验,我无法将模型直接绑定到输入字段。

我缺少什么优点和缺点,你会推荐使用什么?

0 投票
1 回答
439 浏览

cocoa - 访问 NSTableView 中的托管对象

我有一个NSTableView绑定到一个NSArrayController,它绑定到NSManagedObjectContext一个实体。如何以编程方式在表格视图中当前选择的对象上设置属性?我尝试直接通过

[[[documentsController arrangedObjects] objectAtIndex:[tableView selectedRow]] setObject:[NSDate date] forKey:@"dateProperty"]

但这给了我一个例外:

-[_NSControllerArrayProxy selection]: unrecognized selector sent to instance 0x79430c0

我试图将表选择绑定到一个NSObjectController并在其上设置值,但它不起作用。

0 投票
3 回答
6956 浏览

objective-c - NSTableView 选择和亮点

我有一个 NSTableView 作为我的应用程序的一个非常核心的部分,并希望它与它的其余部分更多地集成。它只有一列(它是一个列表),我自己绘制所有单元格(正常的 NSTextFieldCells)。

第一个问题是突出显示。我自己画了高光,想去掉蓝色背景。我现在用原始背景颜色填充整个单元格以隐藏蓝色背景,但是在拖动单元格时这看起来很糟糕。我尝试覆盖highlight:withFrame:inView:highlightColorWithFrame:inView:NSCell 但什么也没发生。如何禁用自动突出显示?

当我单击 NSTableView 之外的某个位置时,我还希望取消选择所有行/单元格。由于所选单元格的背景/突出显示变为灰色,因此必须有一个事件,但我找不到它。我让我的单元格双击展开,可能需要撤消此操作。所以摆脱灰色高光是不够的。

编辑:当一个单元格被双击然后resignFirstResponder调用 NSTableView 时,我向 NSTableView 添加一个子视图。我试过这个:

除此之外,它不起作用,我需要为视图层次结构中的所有对象实现此方法。是否有其他解决方案可以找出第一响应者何时离开某个视图层次结构?

0 投票
5 回答
2933 浏览

objective-c - 无法在 NSTableView 中进行空选择

我不知道它是怎么发生的,但是突然在我的表格视图中我不能再做一个空的选择了。就像表格视图行总是必须被选中,并且不能通过单击表格视图中的其他位置来取消选择。我可以选择不同的行,但不能进行空选择。

在表格视图的 Interface Builder 属性中启用了空选择,所以我不知道下一步该往哪里看。我所做的一项重大更改是安装了 OS X Snow Leopard。我不确定这个问题是否与此有关。

谢谢

0 投票
2 回答
17686 浏览

objective-c - 在 Objective-C 中向/从 NSTableView 添加/删除行

我正在 Cocoa 中制作一个简单的 Todo 应用程序。我添加了一个类(和一个 NSObject 到 XIB)MATodoController:

MATodoController.h

MATodoController.m

我有一个到 NSTableView 的出口“表”和通过按钮单击调用的两个动作“addItem”和“removeItem”。

有没有办法(当然有办法)如何在 NSTableView 中添加新行/删除选定的行(用户可以一次选择多行)?

提前致谢。

哦,还有一件事: NSTableView 只有一列(由复选框组成)。

0 投票
3 回答
2610 浏览

cocoa - NSScrollView Bar 不滚动浏览 NSTableView 行

我目前在 NSScrollView 中有一个 NSTableView ,它从数据源获取它的内容。但是,当内容的数量大于视图可以容纳的数量时,使用垂直滚动条不会影响表格的内容。

  • 拖动滚动 条不起作用
  • 单击向上/向下按钮不起作用
  • 在鼠标上使用中间滚轮确实有效
  • 使用键盘上的箭头键确实有效
  • 上面两个上下移动垂直滚动条

  • 尝试打开和关闭滚动复制

  • NSTableView 有两列,一是文本字段,一是图像字段

  • 控制台中没有出现错误

这似乎是垂直滚动条连接到表格视图,但仅在一个方向上。那就是 tableview 改变了滚动条,反之亦然。

以前有人遇到过这样的问题吗?或者知道是什么原因造成的?

0 投票
3 回答
763 浏览

objective-c - 表视图未根据绑定更新

这是一个非常新手的问题,这是我以前做过很多次的事情,但是这次我错过了一些东西。

在我的 AppDelegate.h 文件中,我声明了一个 NSArray 并将其设置为属性:

然后在 awakeFromNib 方法的 AppDelegate.m 文件中分配它:

然后我有一个设置行数组的方法:

我有一个绑定到的数组控制器,AppDelegate.self.lines然后我有一个绑定到的表列Array Controller.arrangedObjects。我可以确认该数组正在更新(使用 NSLog 测试)但是表的内容没有被更新(它保持空白)。

我在这里有什么明显的遗漏吗?