问题标签 [nscollectionview]
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 - 即使调用了所有正确的方法,NSView 的上下文 NSMenu 也永远不会显示
我有一个里面NSCollectionView
有一堆NSView
s ,垂直堆叠,使它看起来有点像UIKit
's UITableView
。一切都按预期工作,除了一件事:
当右键单击任何一个NSView
s 时,我希望NSMenu
I set to be viewmenu
会显示出来,但是很遗憾 - 什么也没有发生。
疯狂的部分是所有正确的方法都被调用了,正如预期的那样:-rightMouseDown:
和-menuForEvent:
finally -menu
。
当我将任何对象设置为NSMenu
's时delegate
,不会调用它,所以在我看来,Apple 方面的某些事情发生了故障,就在请求's和实际显示它之间。menuWillOpen:
menu
有人能对此有所了解吗?
提前致谢。
PS。对于它的价值,NSMenu
我手动(不依赖于 Apple 的右键单击处理)使用popUpMenuPositioningItem:atLocation:inView:
显示。
编辑/更新/澄清
有NSCollectionView
问题的是在单击NSWindow
an 时显示的内部NSStatusItem
,例如 CoverSutra/TicToc/what have you。子类的一些代码MyWindow
NSWindow
:
presentFromPoint:
是我用来从我喜欢的任何一点呈现它的方法,就我而言,是从NSStatusItem
. (与此问题无关)
顺便说一句,我的应用程序已设置为,因此LSUIElement
它不显示菜单栏或 Dock 图标。它位于状态栏中,并在单击时显示一个窗口。Info.plist
YES
NSStatusItem
视图层次结构如下:
MyWindow
=> contentView
=> NSScrollView
=>NSCollectionView
NSCollectionView
有一个NSCollectionViewItem
连接到它的属性的子类itemPrototype
,并且NSCollectionViewItem
子类有一个NSView
连接到它的view
属性的子类。反过来,子类与它的属性NSView
有一个NSMenu
连接。menu
最后但并非最不重要的一点是:里面NSMenu
有一个。NSMenuItem
NSCollectionViewItem
到目前为止,子类和子类都NSView
没有做任何有趣的事情,它们只是空的子类。
NSMenu
连接到NSView
' 的属性是右键单击menu
时应该显示的内容,但我希望我已经说清楚了:它实际上并没有显示。NSView
更新
我仍然不知道是什么导致了这个问题,但我决定从 '继续' NSCollectionView
,因为它并不真正适合我想要做的事情,我现在正在使用TDListView
它就像一个魅力。
objective-c - NSCollectionViewItem 的项目出口的 NSView 子类没有一致地绘制
我到处寻找这个但没有运气。我在我的项目中使用 NSCollectionView 通过数组控制器绑定到核心数据。为了让它看起来像我想要的那样,我用一个新的 drawRect 方法对 NSView 进行了子类化,并将它与 NSCollectionViewItem 的视图出口连接起来。一切正常,绑定很好,但由于某种原因,它只会在集合视图中的第一个项目上执行自定义绘图。我猜这与 NSCollectionView 在创建新项目时复制笔尖的事实有关。首先是我的 drawRect: 方法:
@结尾
有任何想法吗?
objective-c - 使用没有绑定的 NSCollectionView
有没有办法使用NSCollectionView
没有绑定的?
objective-c - NSWindow 在单击、调整大小等之前不会绘制
我有一个通过 Interface Builder 创建的带有 NSCollectionView 的窗口。有一个 NSArrayController 绑定到 CoreData 后备存储,该存储在启动时通过触发异步请求来填充。NSCollectionView 到 NSArrayController 等的绑定似乎都已经到位;但是,在单击窗口、调整大小等以强制重绘之前,窗口会显示并且是空白的。
这是我尝试过的一些事情,没有任何明显的变化。(这些在 NSWindowController 类中)
1) 使用 KVO 监控 CoreData 提取何时完成。在这一点上,我已经尝试了以下所有方法:
2)添加了一个 NSProgressIndicator,在启动时隐藏 NSCollectionView,然后在加载完成时(再次通过监视 KVO),我隐藏进度指示器并显示集合视图。
有人对我在这里做错了什么有提示/线索吗?
似乎把事情搞砸了。
cocoa - 带有部分的 NSCollectionView - 就像在 iPhoto 中一样
我想构建一个类似于 iPhoto '11 中的 NSCollectionView。我想将几张图片分组,并创建一个节标题。特定节的节标题始终可见,直到该节的最后一个元素可见。你可以看一下图片,看看我的意思。
编辑:我应该补充一点,内容不是图像。
提前致谢
cocoa - 如何保存 NSCollectionView 的内容?
我有一个 nscollectionview,其中包含用户可以添加/删除的集合项。每个collectionitem 包含一个textview 和一个imageview。我已经设法使用 NSSavePanel 将字符串保存到文件中,但是如何获取 textview 和 imageview 的内容,以便我可以通过遍历保存集合项的数组将它们保存到数组中?
或者
有没有更好的方法来保存 collectionitem 的内容?
谢谢
cocoa - 您如何访问收藏品中的插座?
我有一个由集合项填充的 NSCollectionView。数组控制器用于将项目添加到视图中。每个项目都有两个出口,一个 imageview 和一个 textview(不是字段),用户可以自己编辑。您将如何访问每个集合项目中的插座,以便我可以将每个项目的内容保存到 plist 文件中?
cocoa - Cocoa Design:如何在 NSCollectionView 中突出显示员工的当前部门?
我有这个核心数据支持的数据库,其中包含许多员工示例中的条目:员工可以属于一个部门。一个部门有很多员工。我和所有员工都有一个 NSTableView(由 NSArrayController 支持)。我有一个 NSCollectionView(由设置为 selection.possibleDepartments 的 NSArrayController 支持)显示所选员工的可能部门。
我想突出显示该员工目前所在的部门
简单吧?
我怎么知道当前选择的部门是什么?我创建了一个具有“-(BOOL)isThisTheSelectedDepartment”的部门类 (DDDepartment) 的类别。在这个函数中,我调用应用程序委托给我主数组控制器。主阵列控制器给了我选定的员工。我问选定的员工这是否是他的部门。图像很少,它的隐藏属性绑定到representedObject.isThisTheSelectedDepartment 并取反。这不会更新 NSCollectionView (显然:P)有没有办法通过绑定来做到这一点?
谢谢
objective-c - NSCollectionView 拖放:大多数委托事件没有被调用
我有一个绑定到 NSArrayController 的 NSCollectionView。我想让拖放工作,所以我创建一个委托并实现方法
我为两个 BOOL 方法返回 YES,为 validateDrop: 方法返回 NSDragOperationMove,为 namesOfPromisedFilesDroppedAtDestination: 方法返回一个空数组。我还有一个 NSLog 语句作为每个方法的第一行,所以我可以看到它们何时被调用。
现在,唯一被调用的方法是 canDragItemsAtIndexes: (我返回 YES)。我看到它被调用了,但是任何进一步的拖动只会修改选择。其余的永远不会被调用。
如果我使 NSCollectionView 不支持选择,那么甚至不会调用该方法。
我确定我错过了一些非常明显的东西,但我无法弄清楚它是什么。有没有人使用 NSCollectionViews 进行拖放并且可以阐明一些问题?
objective-c - Cocoa + CoreAnimation:自定义子视图的动画列表
几周以来,我一直在努力解决这个问题,虽然我从失败中学到了很多东西,但在这一点上,我只需要一个解决方案。问题在于解压缩 Cocoa 中包含的看似重叠的图形和 UI API,其中许多会产生类似的效果,但具有独特的局限性,我经常在投入大量时间实施后才发现这些局限性。
我是 Cocoa 的新手,但不是编程新手,我正在尝试创建一个具有非常定制的 UI 的 Mac 应用程序——想想 Capo、Garageband 或 Billings。我窗口中的一个视图将显示一个有序的子视图列表,每个子视图都进行大量自定义绘图,并且每个视图都必须支持“选定”状态和拖动重新排序。子视图不需要支持被拖到其父视图之外。
理想情况下,拖动会在发生时给出动画反馈,推动相邻的同级视图以腾出空间,例如工具栏图标或 Safari 书签栏。问题是,我似乎无法找到正确的技术包来做到这一点。我已经将子视图作为 NSCollectionView 中的 NSView 子类以及自定义 CollectionView-like NSView 中的 CALayers 完成,但似乎都没有提供完美的解决方案。也就是说,第一个选项似乎在两者中更好,因为它对鼠标事件的出色处理。
我还没有尝试将其作为 TableView 执行,并且我不想在没有任何迹象的情况下沿着这条路走下去,我在正确的轨道上。广泛的谷歌搜索仅表明在启用 CoreAnimation 的重新排序或拖动方面没有任何最新资源。作为 OS X UI 的标准功能,我觉得这应该更容易!
任何人对这项工作的正确工具的任何帮助将不胜感激。TIA。