问题标签 [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 回答
1836 浏览

objective-c - 如何为 NSTableCellView 设置背景颜色?

我在我的 nib 中创建了一个 NSTableCellView,它的 textField 占据了整个空间,它非常适合显示文本和跟踪列的大小。

现在我希望能够在特定情况下(即,并非所有单元格)为其设置纯色背景颜色。我该怎么做呢?

我认为这就像这个问题,除了那里的解决方案没有为我做任何事情,我也想不出任何接近它的东西。

我试过用我的-tableView:viewForTableColumn:row:方法...

  • 设置 cellview.layer.backgroundColor
  • 设置 cellview.wantsLayer=YES (并确认有一个图层)
  • 设置 cellview.layer.opaque=YES 和 cellview.layer.opacity=1.0
  • 设置 cellview.textField.backgroundColor
  • 设置 cellview.textField.drawsBackground=YES
  • 在笔尖中,对于表格单元格视图的文本字段,选中“绘制背景”,并设置背景弹出窗口(这对于所有表格单元格都是永久性的,而不仅仅是我想要在 -tableView:viewForTableColumn:row: 中的那些,但是如果这行得通,它将向我证明,这里至少有一些东西能够绘制背景)

由于我的文本占据了整个单元格视图,因此能够在 textField 或整个单元格视图上设置它就可以了。

这似乎应该是某个地方的简单设置,但没有任何效果。我是否需要继承 NSTableCellView 才能获得背景颜色?

0 投票
1 回答
343 浏览

macos - NSTableView - 如何识别 NSTableCellView 中图像的名称?

我有一个 NSTableCellView,它有一个简单的 NSTextField 和一个 NSImageCell。

稍后,当我从表中选择一行时,我希望能够看到图像的名称。如果我从 IB 预加载图像,我可以使用:

这显示了 IB 名称 - 例如NSEveryWhere

但是当我在运行时加载图像时,相同的语句会导致 (null)。

任何帮助,将不胜感激。请注意,这是针对 OS/X 的——但是,为了将来的使用,我也很欣赏 iOS 的想法。谢谢

0 投票
1 回答
370 浏览

cocoa - NSTableCellView 中的多个 NSTextField;只有第一个可以直接编辑

我的 NSTableCellView 中有多个 NSTextField: 在此处输入图像描述

通过双击操作,我调用[self.outlineView editColumn:0 row:clickedRow withEvent:nil select: YES];它在第一个文本字段中激活编辑。我还在 IB 中设置了 nextKeyViews,以便用户可以按 Tab 键来浏览所有字段。但是当我尝试直接用鼠标按键选择文本字段时,它永远不会起作用。它只在 NSTableCellView 上选择/取消选择编辑,因此每次只编辑第一个文本字段。

我怎样才能让它工作,以便我可以选择和编辑正确的字段?

0 投票
1 回答
207 浏览

cocoa - NSTableView 设置自动调整中间列的大小?

是否可以在 IB 中设置NSTableView例如 4 列,以便在表增长时只允许调整一列的大小?

到目前为止,我无法通过调整大小: 自动调整大小或减少列中的内容拥抱值来实现这一点,TableCellView这应该是调整表格大小时唯一增长的值。

有什么办法可以说服一个特定的专栏——不仅仅是最后一个专栏——“放手”并用它的NSTableView..调整大小?

0 投票
1 回答
250 浏览

objective-c - 通过 Bindings 选择 NSTableViewCell(没有 tableView:viewForTableColumn:row:)

我可以使用绑定来神奇地选择我想要的 NSTableCellView 类型吗?

我已经成功地从基于单元格的 NSTableViews 过渡到了基于视图的 NSTableViews。现在我想从使用委托方法过渡到绑定。

使用委托我实现tableView:viewForTableColumn:row以返回我想要使用的三个 NSTableCellViews 之一(取决于数据的类型)。我设置objectValue和 NSTableCellViews 使用它来显示数据。

即使是现在,使用绑定,我也可以使用相同的委托方法来返回其中一个视图;我根本不设置objectValue,我objectValue从绑定中得到。有用。

我切换到绑定作为一种学习经验,也是为了摆脱这段代码。也许tableView:viewForTableColumn:row是专门的委托方法而不是数据源方法,因为这仍然是选择正确视图的预期方法?

有没有更好的(或者更确切地说,仅限绑定)方法来实现这一点?

0 投票
1 回答
943 浏览

cocoa - NSTableCellView 内的 NSCollectionView 不会调整大小

我想在 NSTableCellView 中显示 NSCollectionView。我已经正确设置了它,并且它在大多数情况下都可以正常工作,但是即使我为此设置了自动布局约束,collectionView 的滚动视图似乎也没有根据 NSTableCellView 正确调整大小。

在此处输入图像描述

我可以做些什么来设置约束,以使滚动视图根据 NSTableCellView 调整大小(这也应该让 collectionView 也调整自己的大小)?

编辑:

详细地说,我真正想做的是让collectionView在调整窗口大小时扩展和调整大小,并让它与tableViewCell占用相同的宽度,并根据集合视图中的项目数调整高度outlineView 并因此确定了 outlineView 行的高度。当 collectionView 是普通视图的一部分时它工作正常,但我无法让它在 NSTableCellView 内调整自身大小。

0 投票
1 回答
297 浏览

nstableview - setObjectValue:nil 未调用已删除的 NSTableCellView

我正在使用基于视图的 NSTableView 和绑定来显示我的对象的内容。

当我删除其中一个时,tableView 通过删除该对象的单元格来反映更改。

问题是 NSTableCellView 没有收到 setObjectValue: with nil 或其他对象,因此对象 referenceCount 没有递减,我的对象永远不会释放。

有没有办法覆盖 tableView 以强制调用 setObjectValue: 当它缓存 deletedRows 时?

谢谢你的帮助。

0 投票
0 回答
590 浏览

macos - Cocoa (Mac) 中的动态 TableviewCell 高度

我正在尝试存档与 Twitter for Mac App 类似的行为。如果用户调整整个窗口的大小,它具有动态高度的 TableViewCells 可以正确调整大小。

我开始使用带有基于视图的 TableViewCells 的 NSTableView。现在我的问题是我可以计算 TableViewCell 的初始高度,但是一旦用户开始调整整个窗口的大小,高度当然不再正确,并且 tableview 不会再次询问我新的高度...

所以我的问题是如何解决这个问题?表视图是要走的路吗?我希望它以某种方式与 AutoLayout 一起工作......

谢谢,乔治

0 投票
1 回答
359 浏览

cocoa - NSTableCellView 内 NSTextField 的宽度

我正在尝试使用文本字段和按钮创建一个非常简单的 NSTableCellView。我的 NSTableCellView 布局代码如下。我希望文本字段的宽度为 100 像素。

但是,当我这样做时, NSTextField 占据了整行:

我究竟做错了什么?

0 投票
0 回答
663 浏览

objective-c - 为什么 [[NSTableCellView alloc] init] 会产生一个无文本字段?

下面的日志行将显示“表格单元格:[此处记录的有效值]”但“文本字段:(null)”。

我实际上是在尝试以编程方式构建 NSOutlineView,它适用于基于单元格的方法,但不适用于基于视图的方法。有人可以告诉我我做错了什么吗?