2015-12-08 6 views
1

Итак, в Sketch вы можете отметить слой/группу как экспортируемый.Sketch Plugin: Как программно сделать слой доступным для экспорта?

enter image description here

А затем слой/группа может быть экспортирована как .png/.svg/.pdf и т.д. Я пытался сделать эскиз плагин в последнее время, где я должен отметить слой/группу экспортируемых от кода. Слой в коде представлен с использованием MSLayer, а группа - MSLayerGroup. Документация эскиза еще недостаточно зрелая, поэтому я использовал ClassDump для извлечения всех заголовков, которые были использованы в приложении. Я искал метод, который может показаться мне полезным, но это были дни, и мне все еще не повезло. Кто-нибудь может помочь мне в этом отношении?

ответ

1

Эскиз поддерживает срез и экспорт в изображение. Вы можете использовать метод 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.

+0

Спасибо, я проверю его как можно скорее и вернусь к вам. –