问题标签 [nstablerowview]

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 投票
0 回答
133 浏览

macos - NSTextFiled 在 NSTableRowView 中失去控制。为什么?

在此处输入图像描述

我使用 NSOutlineview 对视图进行分组(视图对齐 NSOutlineView 的左侧),因此我将 NSTableRowView 子类化为视图。然后将 NSTextField 用于控制。但是 NSTextField 不能在 NSTableRowView 中工作。

任何人都可以给我建议。非常感谢。

0 投票
0 回答
146 浏览

cocoa - 访问 COCOA 中另一个类中的控制器的 IBOutlet

我有一个带有 IBOutlet 的控制器,如下所示:

我想detachedWindow在一个类中访问那个 outlet(): 这个子类是为基于视图的表视图中的单元格视图添加的。

detached window outlet is--总是回归null。如何在“HoverTableRowView”类中访问该插座?

0 投票
1 回答
936 浏览

nsoutlineview - 为 NSOutlineView 设置行颜色和高度(选择基于视图和源列表选项)

我使用委托函数自定义了 NSOutlineView 来调整组项的行高和颜色,使用以下方法:

这几乎可以工作,结果如下所示。一节中的最后一行和下一节的标题之间有一个小间隙。任何人都可以阐明这可能是什么以及如何删除它。它可能是某种页脚,如果是的话,是否有任何 API 可以调整它?如果我完全删除,底部的图片是我得到的outlineView:heightOfRowsByItem

在此处输入图像描述

不使用 heightOfRowsByItem 的结果

不使用 heightOfRowsByItem 的结果

编辑:我通过将outlineView backgroundColor 设置为我想要的标题行颜色然后将其他行颜色设置为白色来解决这个问题。如下所示,这填补了空白,但似乎仍然是一种解决方法。

在此处输入图像描述

0 投票
1 回答
1322 浏览

cocoa - 如何将 NSImageView 上的点击事件作为 NSTableRowView 中的子视图捕获?

在 NSTableView 我有 NSTableRowView 并且在这一行有一些 NSImageView 子视图。问题:如何跟踪此图像上的点击事件?

0 投票
1 回答
530 浏览

macos - 仅当自定义 TableRowView 类中的选择更改时才调用 drawSelectionInRect?

在我的 OSX 应用程序中,我将 NSTblRowView 子类化为基于视图的自定义 tableView 自定义行选择颜色。

我正在使用以下方法覆盖:

我注意到当屏幕上至少有一个行被选中时,这个方法一直被调用。

我很好奇是否有办法不一直重绘行,但只在行选择更改时才这样做?!

任何形式的帮助都非常感谢!

0 投票
1 回答
245 浏览

objective-c - 调试 NSTableView 的数据源时的奇怪描述

上下文

datasourceNSTableView.

错误是

* -[NSTableView _uncachedRectHeightOfRow:], /SourceCache/AppKit/AppKit-1265.19/TableView.subproj/NSTableView.m:1784 中的断言失败

在线self.tableView scrollRowToVisible:0] ;

奇怪的描述

当我尝试调试此错误并输入调试器时

po [self tableView:self.tableView viewForTableColumn:[self.tableView tableColumns][0] row:0]

我明白了

<NSTableRowView: 0x6000001b7300> - row: -1.

我的问题是:

  • 这是什么row: -1(我在 中没有看到任何row属性NSTableRowView

  • 这些信息能给我关于第一个错误的什么样的提示?

0 投票
1 回答
277 浏览

core-data - 样式化 NSOutlineView 行

我有一个基于文档的核心数据应用程序,其 NSTreeController 将内容提供给基于视图的 NSOutlineView。我正在“样式化”(设置文本颜色、背景颜色等)基于我的数据模型中的持久“可转换”NSColor 和 NSFont 属性的行,最终用户可以修改这些属性。当弹出新行时,它会使用数据模型中设置的颜色/字体显示内容。这是设置行背景颜色的委托/数据源代码:

但是,当样式属性更改时,我希望使用新样式值重绘关联的可见行。每次更改“样式”属性时,我都使用 NSNotificationCenter 向大纲视图委托发送通知,其中模型对象的行需要使用更改后的样式重新绘制。这是接收通知的委托中的代码。

我在这里的假设是我可以导航树控制器以找到代表我的模型对象的树节点,然后要求大纲视图重绘该树节点的行。这是树控制器中的“添加”代码,它遍历树以查找对象 - 效率不高,但我认为没有其他方法。

所以有时这有效并且行重绘,有时则无效。委托方法“styleHasChanged:”总是被调用,树控制器总是返回一个对应的树节点(实际上是NSTreeNode的一个子类)。但通常大纲视图无法识别树节点,并且不会重绘行。就像树控制器返回了与过去提供大纲视图的树节点对象不同的树节点对象。但奇怪的是,有时它确实有效,并且用新的背景颜色重新绘制了右行。如果我将该行折叠到视图之外并再次将其弹出,则它会正确重绘。

任何人都知道为什么它有时会起作用而不是其他时候吗?

能够以某种方式将颜色/字体属性绑定到行和列会很好,以便大纲视图使用 KVO 自动进行此样式设置,但我认为这是不可能的 - 是吗?

0 投票
1 回答
453 浏览

swift - NSTableview 在 Swift 中以编程方式将 selectionHighlightStyle 设置为 NSTableViewSelectionHighlightStyleNone

如果我选择了一行,我想禁用突出显示的蓝色。在 Swift 语言中,我无法为我的 NSTableview 将 selectionHighlightStyle 设置为 NSTableViewSelectionHighlightStyleNone。

这是我的代码:

对于该语句tableView.selectionHighlightStyle = NSTableViewSelectionHighlightStyleNone,它会引发错误“使用未解析的标识符“NSTableViewSelectionHighlightStyleNone”。

0 投票
1 回答
283 浏览

cocoa - 如何初始化 NSTableRowView 子类?

编译器在第 3 行崩溃,我无法在任何地方找到有关 NSTableRowView 初始化程序的信息

0 投票
1 回答
135 浏览

objective-c - 基于视图的 NSTableView 选择?

我写了一个基于视图的tableview,像这样: 在此处输入图像描述

我用 NSTableRowView 绘制选择,代码是这样的:

但是最后我发现TableRowView并没有覆盖tableView,所以selectedColor没有覆盖图片和按钮,更像是背景色,但是我需要selectedTableRowView覆盖view,就像这样:

在此处输入图像描述

所选颜色覆盖图像和按钮。我用谷歌搜索,但没有找到任何想法。谢谢帮忙~