簡體   English   中英

Sketch插件:如何以編程方式使圖層可導出?

[英]Sketch Plugin: How to programmatically make a layer exportable?

因此,在Sketch中 ,您可以將圖層/組標記為可導出。

在此處輸入圖片說明

然后可以將圖層/組導出為.png / .svg / .pdf等。我最近嘗試制作一個Sketch Plugin,在這里我需要將圖層/組標記為可從代碼導出。 使用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插件的參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM