2015-12-02 68 views
0

我在項目中看到奇怪的NSOpenPanel顯示。標題列(排序)是浮動的,而不是保持附加到視圖的頂部。下面是我使用至今面板的代碼:NSOpenPanel奇數浮動標頭

NSOpenPanel *panel = [NSOpenPanel openPanel]; 
NSArray *fileTypes = @[(NSString *)kUTTypeJPEG, (NSString *)kUTTypePNG, (NSString *)kUTTypeBMP, (NSString *)kUTTypeTIFF]; 
[panel setCanChooseDirectories:NO]; 
[panel setAllowsMultipleSelection:NO]; 
[panel setAllowedFileTypes:fileTypes]; 
NSInteger i = [panel runModal]; 

如果我使用的是一個全新的項目,相同的代碼,它提出正確。由於我正在展示一個系統面板,所以我沒有看到我的應用程序如何爲這個奇怪的顯示負責,但我是開放的。有沒有人有任何建議,我可能會在我的應用程序中尋找可能導致此行爲?

Example of floating header

有問題的應用程序的目標是10.10。

+0

爲什麼你不運行一個搜索NSOpenPanel並獲得工作代碼? NSOpenPanel已經超過10年了,沒有什麼新鮮事了。如果你遇到意想不到的事情,那麼你正在做一些意想不到的事 –

回答

0

我很確定你在這裏尋找的答案是最終你想使用基於塊的完成處理程序調用API而不是runModal。當涉及到NSOpen/SavePanel和沙盒應用程序時,蘋果有意或無法以各種方式遺留傳統runModal api。

+0

問題結束與沙箱相關,但是使用基於塊的演示文稿而不是runModal很好。 –