2015-10-08 56 views
3

我注意到El Capitan(10.11)中存在一個奇怪的問題 - 我無法將accessoryView添加到NSOpenPanel。NSOpenPanel無法在El Capitan中添加accessoryView(10.11)

這對小牛隊(10.9)和優勝美地隊(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 

什麼想法?

+0

可能是一個錯誤。嘗試堅持你的觀點。 –

回答

4

一個新屬性已被添加到NSOpenPanel:

/*獲取和設置在NSOpenPanel附屬視圖的公開狀態。 如果隱藏/披露配件視圖不適用,此屬性將 表現爲只讀屬性。 */

@屬性(吸氣= isAccessoryViewDisclosed)BOOL accessoryViewDisclosed;

如果將accessoryViewDisclosed設置爲true,它將再次顯示附件視圖。

2

我使用這個,它似乎工作。我需要在10.11之前支持,所以我問面板是否響應選擇器...

if ([panel respondsToSelector:@selector(isAccessoryViewDisclosed)]) { 
    // show accessory view when dialog opens   
    panel.accessoryViewDisclosed = YES; 
} 
相關問題