我的应用程序中有NSOutlineView。这个功能
-(BOOL)outlineView:(NSOutlineView*)outlineView isGroupItem:(id)item
将outlineView中的一些项目设置为组根(如果函数返回YES)+在单元格末尾添加show / hide按钮以展开/折叠该组的内容,但此按钮用英语编写。我来自白俄罗斯,这就是为什么我要用我的语言写显示/隐藏单词的原因。 Finder用我的语言写,这就是为什么我认为,有什么选项可以为它设置本地化的风格。 我怎么能这样做?
解决:
Mac OS在选择包含NSOutineView
答案 0 :(得分:0)
检索本地化的显示/隐藏按钮(以及公开按钮)的官方方法现在是NSOutlineView类参考中的documented。
let showHideButton = outlineView.makeViewWithIdentifier(NSOutlineViewShowHideButtonKey, owner: outlineView.delegate()) as? NSButton
重要的是要注意按钮的state
属性控制隐藏/显示标题,默认情况下不会同步到NSOutlineView的状态:
NSOnState
=“隐藏”NSOffState
=“显示”
NSOutlineViewDisclosureButtonKey
普通三角形披露按钮。
NSOutlineViewShowHideButtonKey
显示/隐藏按钮。大纲视图通过调用其继承来创建这些按钮
makeViewWithIdentifier:owner:
方法,传入密钥作为 标识符和代理人作为所有者。这些密钥向后兼容OS X v10.7,但是, 在v10.9和字符串值之前不导出符号 (@“NSOutlineViewDisclosureButtonKey”)必须使用。