Skip to content

Instantly share code, notes, and snippets.

@kkotaro0111
Last active July 12, 2017 05:40
Show Gist options
  • Save kkotaro0111/bcc9f441a904afadf8b7d01d1670dfb9 to your computer and use it in GitHub Desktop.
Save kkotaro0111/bcc9f441a904afadf8b7d01d1670dfb9 to your computer and use it in GitHub Desktop.
[Sketch Script] 最上位レイヤーのフレームサイズを24px四方にして、その直下にある要素の位置を親レイヤーの上下左右中央に持ってくるスクリプト。 Material Design 向けアイコンセットを、Sketchのシンボルとして登録する際に、24px四方の枠に入る感じにしたかったのだが、標準機能だけでは無理だったので、とりあえずシンボル化してから、すべてのシンボルレイヤーのサイズと、要素の位置を調整するようにした。 理想としては、任意のPage内にあるグループを元に、固定サイズで一括シンボル化したい。
var selection = context.selection
if(selection.count() == 0){
doc.showMessage("Please select something.");
} else {
for(var i = 0; i < selection.count(); i++){
var layer = selection[i];
var layerFrame = layer.frame()
log(layerFrame.width())
layerFrame.setWidth(24)
layerFrame.setHeight(24)
var layer_width = layerFrame.width()
var layer_height = layerFrame.height();
var group = layer.layers().firstObject()
log(group.frame())
var group_width = group.frame().width()
var group_height = group.frame().height()
group.frame().setX( (layer_width - group_width) /2 )
group.frame().setY( (layer_height - group_height) /2 )
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment