因此,在Sketch中,您可以将图层/组标记为可导出。
然后图层/组可以导出为 .png/.svg/.pdf 等。我最近试图制作一个 Sketch 插件,我需要将图层/组标记为可从代码导出。代码中的层使用MSLayer
和组表示MSLayerGroup
。草图文档还不够成熟,所以我使用ClassDump来提取应用程序中已使用的所有标头。我一直在寻找一种似乎可以完成我的工作的方法,但已经有好几天了,我仍然不走运。有人可以在这方面帮助我吗?
Sketch 支持切片和导出到图像。您可以- (void)saveArtboardOrSlice:(id)arg1 toFile:(id)arg2;
使用MSDocument
.
这几乎是如何做到的。
var loopLayerChildren = [[layerToExport children] objectEnumerator],
rect = [MSSliceTrimming trimmedRectForSlice:layer],
useSliceLayer = false,
exportFilePath,
slice;
// Check for MSSliceLayer and overwrite the rect if present
while (layerChild = [loopLayerChildren nextObject]) {
if ([layerChild class] == 'MSSliceLayer') {
rect = [MSSliceTrimming trimmedRectForSlice:layerChild];
useSliceLayer = true;
}
}
slice = [MSExportRequest requestWithRect:rect scale:1];
if (!useSliceLayer) {
slice.shouldTrim = true;
}
// export to image file
[(this.document) saveArtboardOrSlice: slice toFile:exportFilePath];
来自@GeertWill 的sketch-to-xcode-assets-catalog 插件的参考。