我正在使用NSSavePanel保存图像。
我使用了添加到NSSavePanel的 IKSaveOption。当保存面板尝试为窗口打开工作表时,它会崩溃说 -
*** -[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。新的 OS API 中是否有任何布局更改?