2016-03-01 5 views
0

Im в настоящее время пишет плагин Sketch.Как использовать setImage в плагинах Sketch

Я doning что-то вроде этого:

fill.setFillType(4); 
fill.setPatternImage(imageData); 
fill.setPatternFillType(1); 

на консоли Выходы: setPatternImage: осуждается. Используйте setImage: вместо этого с MSImageData «Написание сценариев»

Как это можно решить? Это приводит к сбою.

fill.setImage(imageData) 

Заранее спасибо.

ответ

0

Вы посмотрели на эскизные заголовки о новой версии? https://github.com/abynim/Sketch-Headers

вы можете изменить свои коды, как, если вы хотите создать плагин, который поддерживает все версии:

во-первых, вам нужно поймать эскиз версии в качестве переменной.

function getSketchVersionNumber() { 
    const version = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"] 
    var versionNumber = version.stringByReplacingOccurrencesOfString_withString(".", "") + "" 
    while(versionNumber.length != 3) { 
     versionNumber += "0" 
    } 
    return parseInt(versionNumber) 
} 

var sketchVersion = getSketchVersionNumber() 

fill.setFillType(4) 

if (sketchVersion > 370) { 
    // you need to grab the image with MSImageData like this one 
    var image = [[MSImageData alloc] initWithImage: imageData convertColorSpace: false]] 
    fill.setImage(image) 

} else if(sketchVersion < 350) { 
[fill setPatternImage:imageData collection:[[fill documentData] images]] 
} else { 
fill.setPatternImage(imageData) 
} 
fill.setPatternFillType(1) 
+0

О, хорошо, я посмотрю, что завтра. Заранее спасибо – qudrat

+0

Вы попробовали? @qudrat –