问题标签 [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.
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 才能获得背景颜色?
macos - NSTableView - 如何识别 NSTableCellView 中图像的名称?
我有一个 NSTableCellView,它有一个简单的 NSTextField 和一个 NSImageCell。
稍后,当我从表中选择一行时,我希望能够看到图像的名称。如果我从 IB 预加载图像,我可以使用:
这显示了 IB 名称 - 例如NSEveryWhere
但是当我在运行时加载图像时,相同的语句会导致 (null)。
任何帮助,将不胜感激。请注意,这是针对 OS/X 的——但是,为了将来的使用,我也很欣赏 iOS 的想法。谢谢
cocoa - NSTableCellView 中的多个 NSTextField;只有第一个可以直接编辑
我的 NSTableCellView 中有多个 NSTextField:
通过双击操作,我调用[self.outlineView editColumn:0 row:clickedRow withEvent:nil select: YES];
它在第一个文本字段中激活编辑。我还在 IB 中设置了 nextKeyViews,以便用户可以按 Tab 键来浏览所有字段。但是当我尝试直接用鼠标按键选择文本字段时,它永远不会起作用。它只在 NSTableCellView 上选择/取消选择编辑,因此每次只编辑第一个文本字段。
我怎样才能让它工作,以便我可以选择和编辑正确的字段?
cocoa - NSTableView 设置自动调整中间列的大小?
是否可以在 IB 中设置NSTableView
例如 4 列,以便在表增长时只允许调整一列的大小?
到目前为止,我无法通过调整大小: 自动调整大小或减少列中的内容拥抱值来实现这一点,TableCellView
这应该是调整表格大小时唯一增长的值。
有什么办法可以说服一个特定的专栏——不仅仅是最后一个专栏——“放手”并用它的NSTableView
..调整大小?
objective-c - 通过 Bindings 选择 NSTableViewCell(没有 tableView:viewForTableColumn:row:)
我可以使用绑定来神奇地选择我想要的 NSTableCellView 类型吗?
我已经成功地从基于单元格的 NSTableViews 过渡到了基于视图的 NSTableViews。现在我想从使用委托方法过渡到绑定。
使用委托我实现tableView:viewForTableColumn:row
以返回我想要使用的三个 NSTableCellViews 之一(取决于数据的类型)。我设置objectValue
和 NSTableCellViews 使用它来显示数据。
即使是现在,使用绑定,我也可以使用相同的委托方法来返回其中一个视图;我根本不设置objectValue
,我objectValue
从绑定中得到。有用。
我切换到绑定作为一种学习经验,也是为了摆脱这段代码。也许tableView:viewForTableColumn:row
是专门的委托方法而不是数据源方法,因为这仍然是选择正确视图的预期方法?
有没有更好的(或者更确切地说,仅限绑定)方法来实现这一点?
cocoa - NSTableCellView 内的 NSCollectionView 不会调整大小
我想在 NSTableCellView 中显示 NSCollectionView。我已经正确设置了它,并且它在大多数情况下都可以正常工作,但是即使我为此设置了自动布局约束,collectionView 的滚动视图似乎也没有根据 NSTableCellView 正确调整大小。
我可以做些什么来设置约束,以使滚动视图根据 NSTableCellView 调整大小(这也应该让 collectionView 也调整自己的大小)?
编辑:
详细地说,我真正想做的是让collectionView在调整窗口大小时扩展和调整大小,并让它与tableViewCell占用相同的宽度,并根据集合视图中的项目数调整高度outlineView 并因此确定了 outlineView 行的高度。当 collectionView 是普通视图的一部分时它工作正常,但我无法让它在 NSTableCellView 内调整自身大小。
nstableview - setObjectValue:nil 未调用已删除的 NSTableCellView
我正在使用基于视图的 NSTableView 和绑定来显示我的对象的内容。
当我删除其中一个时,tableView 通过删除该对象的单元格来反映更改。
问题是 NSTableCellView 没有收到 setObjectValue: with nil 或其他对象,因此对象 referenceCount 没有递减,我的对象永远不会释放。
有没有办法覆盖 tableView 以强制调用 setObjectValue: 当它缓存 deletedRows 时?
谢谢你的帮助。
macos - Cocoa (Mac) 中的动态 TableviewCell 高度
我正在尝试存档与 Twitter for Mac App 类似的行为。如果用户调整整个窗口的大小,它具有动态高度的 TableViewCells 可以正确调整大小。
我开始使用带有基于视图的 TableViewCells 的 NSTableView。现在我的问题是我可以计算 TableViewCell 的初始高度,但是一旦用户开始调整整个窗口的大小,高度当然不再正确,并且 tableview 不会再次询问我新的高度...
所以我的问题是如何解决这个问题?表视图是要走的路吗?我希望它以某种方式与 AutoLayout 一起工作......
谢谢,乔治
objective-c - 为什么 [[NSTableCellView alloc] init] 会产生一个无文本字段?
下面的日志行将显示“表格单元格:[此处记录的有效值]”但“文本字段:(null)”。
我实际上是在尝试以编程方式构建 NSOutlineView,它适用于基于单元格的方法,但不适用于基于视图的方法。有人可以告诉我我做错了什么吗?