问题标签 [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 投票
2 回答
1517 浏览

macos - NSTableCellView 透明背景

在我的自定义 NSTableCellView 中,我以-(void)drawRect这种方式覆盖(我这样做是因为我有图案图像背景NSWindow我只需要NSLabel在 cellView 中显示):

我得到了这个结果,它使整个NSWindow透明:

在此处输入图像描述

我想要像VOX mac app这样的结果(看看红色的日食,你会看到 cellView 对父背景图像是透明的):

在此处输入图像描述

0 投票
2 回答
612 浏览

objective-c - 自定义 NSTableCellView 的 IBOutlet 为 null

我有一个NSTableView,它的数据源和委托已经设置好了。我想自定义单元格,所以我从库中拖动了一个基于视图的单元格视图。然后我创建了一个ServiceCell继承自的类,NSTableCellView以完全控制我的特殊单元格。之后,我从 nib 文件控制拖动到单元格类,以在单元格中创建IBOutlet图像和文本字段的属性。

在 NSTableView 的委托方法中,我这样写:

如您所见,文本字段为空!但是makeViewWithIdentifier:在 Interface Builder 中找到了该单元格并在应用程序窗口中显示了该单元格。我只是无法设置它的价值,为什么?

0 投票
2 回答
734 浏览

objective-c - NSTableCellView 不保留其 NSTextField 的值

以下是委托的 viewForTableColumn 方法中的内容。我根据列表视图中的选择在数据源中动态创建表列。

现在在

textField 是僵尸。是什么赋予了?谢谢你的帮助。

0 投票
1 回答
97 浏览

objective-c - 如何在编辑过程中更改基于视图的表格视图的外观?

我正在为 Mac OS X 开发我的第一个应用程序。它允许编辑表格视图的内容,并且我想重新创建在 Things 应用程序中如何编辑单元格的行为。它应该像这样工作:双击单元格应该开始对单元格内容进行高级编辑。问题是我不明白如何为基于视图的表格视图实现这一点。

在此处输入图像描述

我已经阅读了 Mac 的 Table View Programming Guide 并观看了 UWDC'11 中关于自定义基于视图的 tableviews 的 session 120,但这对我没有太大帮助。

我假设我应该在编辑开始后以某种方式跟踪编辑事件并将单元格的原型从标准原型更改为更高级的原型。我知道如何使用子类化和单元格的原型来更改单元格的外观。但我不明白如何在编辑过程中更改单元格的视图。

无论如何,使用标准 NSTableView 创建这种自定义控件是否正确?

请注意,我在这个应用程序中使用了 Core Data、NSArrayController 和 Cocoa Bindings。

0 投票
1 回答
1932 浏览

cocoa - NSTableView:如何正确调整单元格中的文本大小

我需要增加 NSTableView(基于视图的模式)中的字体大小,以便在我的应用程序的某种演示中提供更好的可读性。

更改字体在以下范围内可以正常工作- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row

我还用 更新了 rowHeight - (CGFloat) tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row,这也有效:

(可能有更优雅的方法来确定正确的高度)

现在,这是我的问题:我确实看到字体正在更改。我还看到 rowHeight 正在更改(当我使用交替行着色时非常明显)。但是单元格中的文本似乎被剪裁到原来的高度(可能是 17 像素),所以对于较大的字体,我只能看到文字的顶部,然后是一些空白,然后又是下一行的上部.

对我来说,它看起来像一些视图剪辑 NSTableViewCell 到它的旧高度......我已经玩过将框架和边界设置为不同的值,但这并没有改变任何东西:

我有点迷路了......我想我错过了一些简单的东西,但我不知道在哪里看......

谢谢,扬

0 投票
2 回答
978 浏览

macos - 如何在表格单元格视图中连接插座?

我正在使用基于视图的表格,并且我想为单元格视图中的元素创建一个出口。虽然我无法让插座连接......它总是nil

具体来说,我有NSProgressIndicator一个表格单元格,并希望在代码中对其进行操作。

这是我到目前为止所拥有的:

我创建了 的子类NSTableView,具有相应的插座属性:

我已经在笔尖中设置了自定义类。通过下拉列表NSTableCellView替换现有的。MyTableCellView

在这一点上,一些观察:

  • 如果我Ctrl+单击并拖动进度指示器以连接此插座,则不显示。在此处输入图像描述 在此处输入图像描述

  • 同样,如果我尝试Ctrl使用助手编辑器+单击并拖动进度指示器,我只能通过绑定连接到属性。它不认为这是一个有效的出口。在此处输入图像描述

  • 但是,此插座显示在侧边栏上,并警告说它不存在:在此处输入图像描述

  • 我知道MyTableCellView正在被使用。Breakpoint onawakeFromNib确认了这一点,并确认_myProgressIndicatornil.

这是一个沙盒项目,几乎没有我所描述的多。

那么,如何从代码中访问此进度指示器?

0 投票
1 回答
1307 浏览

cocoa - NSView 中的自动布局被用作 NSTableView 的单元格

我正在尝试构建一个NSTableView类似于 Things 的布局方式。 Things 2.0 -- (c) CulturedCode

我假设他们正在做的是使用NSTableView自定义绘制的NSTableCell- 或者可能是NSSegmentedControl. 我正试图沿着这NSTableCell条路线走。我试图子类NSTableCellView化并绘制一个自定义单元格(这都在 init 方法中进行测试);

看起来很不言自明,但它实际上不起作用。我收到无法满足约束的错误。不能在子类中使用自动布局NSTableCellView吗?

0 投票
1 回答
1176 浏览

cocoa - 基于视图的 NSTableView 中的自动布局

我有一个创建行的 NSTableView(基于视图);

这一行创建了一些子视图并分配了一些约束;

当我真正尝试编辑约束时,乐趣就开始了。viewWithBackground 只是一个空的 NSView 设置它的背景。当约束为 |[viewWithBackground]| 对于水平和垂直,我得到了预期的结果——绿色行。当我将其更改为最基本的 |-[viewWithBackground]-| 时,我得到了一个绝对出乎意料的结果——红色的行,没有我的绿色视图的迹象!

我应该在这里采取一些额外的步骤吗?我的目标是让我的 viewWithBackground 实际上是一个稍小的视图,以伪造行之间的“间隙”以及与表格视图边缘的间距。

0 投票
1 回答
1208 浏览

macos - 如何获取使用自动布局的 NSTableCellView 的高度

我有一个基于视图的NSTableView. 我使用自动布局在 Interface Builder中定位了textField这些元素和其他元素。NSTableCellView如何根据其自动布局参数获取单元格的高度?

这个答案是我找到的最接近我正在寻找的答案,但它是为 iOS 编写的,并且该systemLayoutSizeFittingSize方法不存在于NSView.

0 投票
2 回答
871 浏览

cocoa - Aligning NSTextField and an Image

I am trying to align an NSTextField and an NSImageView.. My current code is below. I have tried a bunch of different approaches including subclassing NSTextFieldCell (found here on SO), messing around with the frame of the text field, and tweaking constraints, but I just can't get it.. No matter what I do, it looks like the screenshot below..

I also have discovered that when I don't apply a font to the label, alignment works as I would expect -- it is vertically aligned with the image.

So the question is, a) why in the world does applying a font screw up the alignment, and b) how do I get around this, ideally in a dynamic way that will adapt if i change the font at runtime..

enter image description here