jjzjj

NSOutlineView

全部标签

swift - 如何在 NSOutlineView 中实现不同的上下文菜单

我有一个基于View的NSOutlineView,如果用户右键单击标题或其中一个展开的项目,我想显示不同的上下文菜单。我将两个NSMenu放到Storyboard文件中。当我将HeaderCell的菜单导出连接到其中一个菜单时,我收到“不支持的配置”警告,并且菜单从未显示。(表格View单元格的相同警告)我正在使用Swift。有人可以指导我正确的方向吗? 最佳答案 1.在场景中添加NSMenu2.将Outlets设置添加到NSOutlineView,然后在NSOutlineView和NSMenu之间建立关系3.添加覆盖NSMenuD

objective-c - 如何在 NSOutlineView 的高亮常规模式下显示显示/隐藏按钮?

如何在NSOutlineView的高亮常规模式下显示显示/隐藏按钮?我在NSOutlineview的顶部有一个grop项目。我尝试在该组项目中显示显示/隐藏按钮,但我找不到任何方法来做到这一点。源列表模式可以显示,普通模式不能显示。是否可以在NSOutlineview的高亮常规模式下显示显示/隐藏按钮?感谢帮助 最佳答案 此行为特定于源列表外观。没有公共(public)API可以解决这个问题,因为它是(在Apple方面)有意强制执行标准化外观。您可以在header中挖掘以寻找一种“热线”方式,但使用私有(private)API会阻止

macos - NSOutlineViewDataSource 和 swift

我正在尝试使用Swift实现NSOutlineViewDataSource,当使用Swift字符串时,应用程序会崩溃。当我将数组people更改为NSString时,它工作正常。根据WorkingwithCocoaDataTypes当您导入Foundation时,字符串桥接应该是自动的。数据源代码如下:importCocoaimportFoundationclassViewController:NSViewController,NSOutlineViewDataSource{letpeople:[String]=["Mary","John","Paul"]//whenusingNSSt

swift - 如何将文件夹/目录项从 NSOutlineView 拖到 Finder 或 Xcode 等应用程序

我创建了一个大纲View表来显示我的磁盘(文件系统)层次结构,类似于Apple的这个示例:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/OutlineView/Articles/UsingOutlineDataSource.html#//apple_ref/doc/uid/20000725-142693现在我希望能够将文件/文件夹从我的大纲View拖到其他接受拖放的应用程序,如Finder、Xcode、iTunes等。这些是我为我的NSOu数据源实现的功能letpb:NSPasteboard

xcode - 折叠 NSOutlineView Group 后如何保持选中行状态

我想实现一个类似于Finder.app的边栏。但是我不知道如何让它在折叠和展开组后保持行选择状态。任何想法或建议将不胜感激。 最佳答案 您必须自己实现。系统不为您保留选择的原因是当一个项目被折叠时,它的所有子项目实际上都被释放,所以它们根本不存在。解决方案非常简单直接。设置大纲View以允许空选择(在IB中或通过代码)。这将防止系统在先前选择的项目折叠后自动选择另一个项目。将所选项目保存在ivar中,并更新它以响应用户交互。为此,您可能需要实现-outlineViewSelectionDidChange:委托(delegate)方法

swift - NSOutlineView拖线卡住+蓝色边框

我想要蓝色拖动条的正确行为,并且拖动时没有蓝色矩形。你知道我的错误在哪里吗?(如您所见,蓝色条卡在顶部,如本主题所示:Littlecircle-linebarstuckattopofNSOutlineViewwhenrearrangingusingdraganddrop)importCocoaclassViewController:NSViewController,NSOutlineViewDataSource,NSOutlineViewDelegate,NSPasteboardItemDataProvider{@IBOutletweakvaroutlineView:NSOutline

swift - NSOutlineView 中行的背景颜色

如何为NSOutlineView中的1个特定行设置背景颜色?我试过这个但没有运气:funcoutlineView(_outlineView:NSOutlineView,rowViewForItemitem:Any)->NSTableRowView?{letnewRow=NSTableRowView()newRow.backgroundColor=NSColor.redreturnnewRow} 最佳答案 您需要的是outlineView(didAdd:forRow)。您的代码如下所示:funcoutlineView(_outline

swift - 将 NSTreeController 与 NSOutlineView 一起使用

我正在尝试(未成功)构建一个TreeController控制的NSOutlineView。我看过很多教程,但它们都在开始任何事情之前预加载数据,这对我不起作用。我有一个简单的设备类:importCocoaclassDevice:NSObject{letname:Stringvarchildren=[Service]()varserviceNo=1varcount=0init(name:String){self.name=name}funcaddService(serviceName:String){letserv="\(serviceName)#\(serviceNo)"childre

cocoa - 当 isGroupItem 委托(delegate)方法与 Swift 一起使用时,NSOutlineView 崩溃

我想在Swift项目中使用NSOutlineView部署源列表。当未调用isGroupItem委托(delegate)方法时,下面的ViewController工作良好。但是,使用isGroupItem方法时会返回许多__NSMallocBlock__项目。我不知道这些元素来自哪里。我提供的项目只是字符串。classViewController:NSViewController,NSOutlineViewDataSource,NSOutlineViewDelegate{lettopLevel=["1","2"]letsecLevel=["1":["1.1","1.2"],"2":["2