NSOpenPanel 无法在 El Capitan (10.11) 中添加 accessoryView
NSOpenPanel is not able to add accessoryView in El Capitan(10.11)
我注意到 El Capitan(10.11) 中的一个奇怪问题 - 我无法将 accessoryView 添加到 NSOpenPanel。
Mavericks(10.9) 和 Yosemite(10.10) 没问题。 10.11 有什么变化吗?
这里是简单的代码:
let openPanel = NSOpenPanel()
openPanel.delegate = self
openPanel.title = "Choose a vbo file"
openPanel.showsResizeIndicator = true
openPanel.showsHiddenFiles = false
openPanel.canChooseDirectories = false
openPanel.canCreateDirectories = true
openPanel.allowsMultipleSelection = false
//RLFileWizardView is just custom view
let subview = RLFileWizardView(frame: NSRect(x: 0,y: 0,width: 800,height: 300))
openPanel.accessoryView = subview
有什么想法吗?
新的 属性 已添加到 NSOpenPanel:
/* 获取和设置 NSOpenPanel 中附属视图的显示状态。
如果隐藏/公开附件视图不适用,此 属性 将
表现得像只读 属性。
*/
@property (getter=isAccessoryViewDisclosed) BOOL
accessoryViewDisclosed;
如果将 accessoryViewDisclosed 设置为 true,它会再次显示附件视图。
我正在使用它,它似乎有效。我需要支持 10.11 之前的版本,所以我询问面板是否响应选择器...
if ([panel respondsToSelector:@selector(isAccessoryViewDisclosed)]) {
// show accessory view when dialog opens
panel.accessoryViewDisclosed = YES;
}
我注意到 El Capitan(10.11) 中的一个奇怪问题 - 我无法将 accessoryView 添加到 NSOpenPanel。
Mavericks(10.9) 和 Yosemite(10.10) 没问题。 10.11 有什么变化吗?
这里是简单的代码:
let openPanel = NSOpenPanel()
openPanel.delegate = self
openPanel.title = "Choose a vbo file"
openPanel.showsResizeIndicator = true
openPanel.showsHiddenFiles = false
openPanel.canChooseDirectories = false
openPanel.canCreateDirectories = true
openPanel.allowsMultipleSelection = false
//RLFileWizardView is just custom view
let subview = RLFileWizardView(frame: NSRect(x: 0,y: 0,width: 800,height: 300))
openPanel.accessoryView = subview
有什么想法吗?
新的 属性 已添加到 NSOpenPanel:
/* 获取和设置 NSOpenPanel 中附属视图的显示状态。 如果隐藏/公开附件视图不适用,此 属性 将 表现得像只读 属性。 */
@property (getter=isAccessoryViewDisclosed) BOOL accessoryViewDisclosed;
如果将 accessoryViewDisclosed 设置为 true,它会再次显示附件视图。
我正在使用它,它似乎有效。我需要支持 10.11 之前的版本,所以我询问面板是否响应选择器...
if ([panel respondsToSelector:@selector(isAccessoryViewDisclosed)]) {
// show accessory view when dialog opens
panel.accessoryViewDisclosed = YES;
}