问题标签 [nsoutlineview]
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 - NSOutlineView -- 组合多个来源
在我的应用程序中,我有一个NSOutlineView
从NSTreeController
- 获取数据的应用程序,而后者又从核心数据模型中获取数据。
我现在想做的是向大纲视图添加组标题和一些额外的行——显然这些东西应该存在于模型之外并成为视图的一部分。但是,尽管我为此挠头,但我想不出任何方法可以在不修改底层模型的情况下让大纲视图显示这些东西,这显然是一个很大的禁忌。
非常感谢您的帮助。我觉得我在这里遗漏了一些明显的东西......
objective-c - NSOutlineView not refreshing/displaying all content
I have an NSOutlineView, with its content bound to an appropriate NSTreeController. It works perfectly well, except when my app loads, only about half of the content of the NSOutlineView displays.
If I cmd+tab away and back, all the content displays. If I click the blank rows where I know there should be content, the text in the row I clicked suddenly appears. So the content's there, it's just not refreshing properly. I guess I need to send the NSOutlineView a needsDisplay message or something similar, but I'm not quite sure where.
This seems pretty illogical to me - the NSOutlineView should surely be able to display its content properly when bound. Is there something obvious that I'm missing?
objective-c - NSOutlineView:删除显示三角形和缩进
我正在为一个项目使用 NSOutlineView,但似乎无法弄清楚两件事:
- 如何删除树节点的显示三角形。iTunes 之类的应用似乎可以做到这一点:
是否有某种用于此的 NSOutlineView Delegate 方法?或者它需要一个子类?
- 如何禁用项目的缩进。我试过使用setIndentationPerLevel:并将其设置为 0,以及在 Interface Builder 中将列缩进更改为 0,但它似乎没有任何效果。
object - 让 NSOutlineView 滚动到新条目
首先我为篇幅道歉,但我想确保我得到足够的信息。我有一个有趣的问题,应该不难。我知道,如果您想让 NSOutlineView 滚动到并想要显示特定行,您只需使用以下模式:
我没有使用 NSTreeController 来支持使用委托。
我正在使用适配器模式类来充当我的数据。适配器包装了许多不同的类型。这是一个简单的结构:
[适配器子] ----- *[适配器父]
因此适配器负责处理子项计数,可以添加、删除、扩展等,并且还充当数据传输对象。
因此,所有这些都解决了,这就是问题的症结所在。当我向 NSOutlineView 添加一个新项目时,我首先向大纲视图中选择的适配器添加一个新的子适配器。然后我使用以下方法重新加载项目:
然后,我显示该对象的视图并尝试同步 NSOutlineView,以便所选行与新显示的视图相关。因此,以简单的方式,步骤是:
- 最初使用 NSOutlineDataSource 协议加载带有数据的 NSOutlineView
- 用户选择可以添加子项的项(适配器)
- 用户点击“添加”按钮
- 创建了一个新的空表示对象
- 新表示的对象包装在适配器中
- 新创建的适配器被添加到所选适配器的子项中
- 使用新表示的对象创建一个新视图并显示
- 选定的(父)节点及其子节点在 NSOutlineView 中重新加载
- NSOutlineView 中新创建的行滚动到视图同步视图和 NSOutlineView 的选择
所以这就是问题所在。如果使用 rowForItem 方法,NSOutlineView 将找不到新添加的项目。然而,在我重新加载后,我可以展开父节点并选择新添加的项目,一切正常。为了解决这个问题,我以编程方式扩展了父节点(暴露了新项目),然后尝试滚动到新项目,但它仍然找不到该行。rowForItem 返回 -1。
添加一个我没有在 NSOutlineView 中更新某些内容的新项目时,我是否错过了某些内容?我已经尝试了许多不同的事情但没有成功,任何帮助将不胜感激。
在此先感谢,罗布
objective-c - NSScrollView 周围出现蓝色边框
我确定这是正常的,我只是误解了一些东西,但是由于我的一个NSScrollView
s 从窗口底部略微插入(而不是占据整个高度),它周围出现了一个蓝色边框。
我已经设置NSNoBorder
了滚动视图,所以这一定是别的东西。
任何指针将不胜感激。我希望边框消失,因为它破坏了应用程序的外观并且看起来很破碎。
我认为这是滚动视图。它里面的视图作为一个NSOutlineView
,所以也许它是在那上面的东西?
objective-c - ImageAndTextCell 编辑问题
我得到了 ImageAndTextCell,我在 NSOutlineView 上使用它。当我双击一个单元格以对其进行编辑时,我收到以下错误:
2010-12-16 05:31:54.399 MyApp [26823:a0f]-[NSCFString代表对象]:无法识别的选择器发送到实例 0xa0aff968
有谁知道解决方案?
objective-c - 如何获取 NSOutlineView 可见行的索引?
如何获取 NSOutlineView 可见行的索引?我需要知道哪个级别和哪些行是可见的。
[编辑] 我真正在寻找的是一个相当于 CocoaTouch/UITableView 的 NSOutlineView - (NSArray *)indexPathsForVisibleRows
cocoa - iOS中使用的浮动组头可以在桌面上使用吗?
在 iOS 列表视图中,组标题会一直停留在视图的顶部,直到用户滚动时被下一个组标题推到屏幕外。这似乎不是 OS X 的 Cocoa 中的标准行为。是否可以在大纲视图上使用此行为。
objective-c - Cocoa:NSOutlineView 中的多行 NSTextFieldCell
我正在开发一个 Cocoa 应用程序。
我有一个 NSOutlineView 显示自定义单元格(单元格继承自 NSTextFieldCell)。我面临的问题是单元格文本只显示在一行上......我怎么能有一个多行文本字段???
谢谢阅读 ;)
objective-c - 使用 NSCell 选择文本(内容)而不是单元格
我目前正在一个带有 NSOutlineView 的项目中工作......
当然,我使用 NSCell(s),我需要让选择单元格内的文本的能力......或者至少......阻止单元格的选择(和突出显示)......
我在 IB 上搜索了所有选项,但找不到合适的选项...
有没有办法以编程方式阻止选择/突出显示单元格,也不让用户选择单元格内容?
谢谢 =)