Javascript 如何在草图插件中使用setImage

Javascript 如何在草图插件中使用setImage,javascript,scripting-bridge,sketchapp,cocoascript,Javascript,Scripting Bridge,Sketchapp,Cocoascript,我正在写一个草图插件 我正在做这样的事情: 控制台输出: setPatternImage:已弃用。使用setImage:而不是MSImageData«脚本遗留» 我怎样才能解决这个问题?这会导致撞车。 提前感谢。您看过关于新版本的草图标题了吗? 如果您想构建一个支持所有版本的插件,您可以更改代码,如: 首先,您需要将草图版本作为变量 function getSketchVersionNumber() { const version = [[NSBundle mainBundle]

我正在写一个草图插件

我正在做这样的事情:

控制台输出: setPatternImage:已弃用。使用setImage:而不是MSImageData«脚本遗留»

我怎样才能解决这个问题?这会导致撞车。


提前感谢。

您看过关于新版本的草图标题了吗?

如果您想构建一个支持所有版本的插件,您可以更改代码,如:

首先,您需要将草图版本作为变量

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)
函数getSketchVersionNumber(){ const version=[[NSBundle mainBundle]objectForInfoDictionaryKey:@“CbundleShortVersionString”] var versionNumber=version.StringByReplacingOfString_与字符串(“.”,“)+”的重复发生率 while(versionNumber.length!=3){ 版本号+=“0” } 返回parseInt(版本号) } var sketchVersion=getSketchVersionNumber() fill.setFillType(4) 如果(草图版本>370){ //你需要像这样用MSImageData抓取图像 var image=[[MSImageData alloc]initWithImage:imageData convertColorSpace:false]] fill.setImage(图像) }否则如果(草图版本<350){ [fill setPatternImage:imageData收集:[[fill documentData]图像]] }否则{ fill.setPatternImage(图像数据) } fill.setPatternFillType(1)
哦,太好了,我明天会看一看。提前谢谢你能试试吗@古德拉
fill.setImage( imageData )
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)