我正在使用NSSavePanel来保存图像。
我已经使用了IKSaveOption添加到了NSSavePanel中。 当保存面板尝试为窗口打开表单时,它会崩溃并显示以下内容:
*** 在-[IKSaveOptionsContainer _didChangeHostsAutolayoutEngineTo:]中断言失败,/SourceCache/AppKit/AppKit-1343.14/Layout.subproj/NSView_Layout.m:577 - 如果_didChangeHostsAutolayoutEngineTo:YES,则应将自动调整大小的蒙版转换为约束。
我正在按照以下代码进行操作:
NSSavePanel *savePanel = [NSSavePanel savePanel];
[savePanel setDirectoryURL:[NSURL URLWithString:NSHomeDirectory()]];
[savePanel setDelegate:self];
[savePanel setPrompt:NSLocalizedString(@"save",nil)];
[savePanel setAllowedFileTypes:[NSArray arrayWithObjects:@"png",@"jpeg",nil]];
IKSaveOptions * opt = [[IKSaveOptions alloc] initWithImageProperties:nil
imageUTType:(NSString *)kUTTypePNG];
[opt addSaveOptionsAccessoryViewToSavePanel:savePanel];
[savePanel setExtensionHidden:NO];
[savePanel beginSheetModalForWindow:self.window completionHandler:^(NSInteger result){.....
}
这段代码在Maverick上可以运行,但在Yosemite上无法运行。新的操作系统API是否有任何布局更改?