1

そのため、Sketchでは、レイヤー/グループをエクスポート可能としてマークできます。

ここに画像の説明を入力

そして、レイヤー/グループを.png/.svg/.pdfなどとしてエクスポートできます。最近、レイヤー/グループをコードからエクスポート可能としてマークする必要があるSketchプラグインを作成しようとしていました。MSLayerコード内のレイヤーは、および group isを使用して表されますMSLayerGroup。スケッチ ドキュメントはまだ十分に成熟していないため、ClassDumpを使用して、アプリで使用されているすべてのヘッダーを抽出しました。私は自分の仕事をするように見えるかもしれない方法を探していましたが、それは何日も経ちましたが、まだ運がありません. この点で誰か私を助けてもらえますか?

4

1 に答える 1

1

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からの参照。

于 2016-03-23T15:54:19.357 に答える