作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以,在 Sketch ,您可以将图层/组标记为可导出。
然后图层/组可以导出为.png/.svg/.pdf等。我最近试图制作一个Sketch插件,我需要将图层/组标记为可从代码导出。代码中的层使用 MSLayer
表示,组是 MSLayerGroup
。 sketch文档还不够成熟,所以我用了ClassDump提取应用程序中已使用的所有 header 。我一直在寻找一种似乎可以完成我的工作的方法,但已经好几天了,我仍然不走运。有人可以在这方面帮助我吗?
最佳答案
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 plugin .
关于javascript - 草图插件: How to programmatically make a layer exportable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34163155/
我是一名优秀的程序员,十分优秀!