我在项目中看到奇怪的NSOpenPanel显示。标题列(sort)是浮动的,而不是保持附加到视图的顶部。以下是我用来呈现面板的代码:
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];
如果我在一个全新的项目中使用相同的代码,它会正确呈现。由于我正在展示一个系统面板,我不知道我的应用程序如何对这个奇怪的显示负责,但我打开了。有没有人对我的应用程序中可能会导致此行为的内容有任何建议?
相关应用的目标是10.10。
答案 0 :(得分:0)
我很确定你在这里寻找的答案是,最终你想要使用基于块的完成处理程序来调用api而不是runModal。当涉及到NSOpen / SavePanel和沙盒应用程序时,苹果有意或无意地以各种方式破坏了遗留的runModal api。