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;
}