前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计师编程指南之Sketch插件开发 4

设计师编程指南之Sketch插件开发 4

作者头像
mixlab
发布2018-04-17 15:50:41
1.2K0
发布2018-04-17 15:50:41
举报
文章被收录于专栏:MixLab科技+设计实验室

为什么写这个系列的文章,一是因为网上相关的 sketch 插件开发教程太少,官方的文档写得不算太清楚,二是因为本公众号长期在研究智能设计相关的内容,基于 sketch 做一些智能设计的辅助工具也在考虑的范围之内,于是就诞生了这个系列的文章。

ps:本系列教程基于最新版的 sketch 48

往期文章索引:

1 / 入门基本概念、page的相关操作

2 / artboard 、NSFileManager 和 NSString 关于文件及文件夹的相关操作

3 / DIY一个Sketch插件,生成猫猫狗狗的全家福

这期介绍 NSPasteboard 、text 的操作。

1

新建一个 text

代码语言:javascript
复制
var doc = context.document;
var page=doc.currentPage();

var textLayer=[MSTextLayer new];

var str='hello world';

textLayer.setStringValue(str);
textLayer.name=str;

textLayer.fontSize=20;

var textFrame=[textLayer frame];
textFrame.x=100;
textFrame.y=100;
textFrame.width=100;
textFrame.height=200;

page.addLayer(textLayer)

2

竖排文字

做设计的时候,经常会碰到如何输入竖排的文字吧?解决办法一般是把文本框的宽度缩小到一个字的宽度。实际上,我们还可以通过代码来解决~

代码语言:javascript
复制
var doc = context.document;
var page=doc.currentPage();

var textLayer=[MSTextLayer new];

var str='春色满园关不住,一枝红杏出墙来。';
var strs=[];

for(var i=0;i<str.length;i++){    
    var s=str[i];
    strs.push(s)
};

var newStr=strs.join('\n')
log(newStr)

textLayer.setStringValue(newStr);
textLayer.name=str;

var textFrame=[textLayer frame];
textFrame.x=100;
textFrame.y=100;
textFrame.width=10;
textFrame.height=200;

page.addLayer(textLayer)

当你有很多很多的字需要竖排的时候,代码的优势就体现出来啦~

3

剪切板 NSPasteboard 的相关操作

获取剪切板中的内容

代码语言:javascript
复制
var pasteBoard=NSPasteboard.generalPasteboard();
var stringFromPasteBoard = [pasteBoard stringForType:NSPasteboardTypeString];

log(stringFromPasteBoard)

清空剪切板

代码语言:javascript
复制
[pasteBoard clearContents];

写入剪切板

代码语言:javascript
复制
[pasteBoard setString:@'stringToWrite' forType:NSStringPboardType];

4

动手实验

现在你可以试着开发一个小功能啦,比如:复制任意一段文字,自动排成竖版的段落版面。效果如下图

另外,还可以结合第二期的 artboard ,把竖排的段落拷贝到新建的 artboard 上。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-02-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科技Mix设计Lab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档