2015-12-02 134 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很好。 –