你好,歡迎進入江蘇優(yōu)軟數(shù)字科技有限公司官網(wǎng)!
發(fā)布時間:2023-07-19
瀏覽次數(shù):0
我發(fā)現(xiàn)網(wǎng)上關(guān)于插件開發(fā)的手冊太少了,但是可能沒有一個能夠成功運行sketch 3 的用戶手冊,所以我寫了這個系列的文章:
1
我們需要理解的句子特征
基于JS中支持調(diào)用-c的trick。 我們需要了解一些-c的一些句子特征。
-C最大的特點是繼承消息傳遞模型。 在C++中,調(diào)用方法的語法如下:
obj.method(argument);
-C 寫為:
[obj method: argument];
下面我們舉個例子,例如:::
OC 寫為:
[doc askForUserInput:@"Enter your pages" initialValue:@"default"];
寫為:
doc.askForUserInput_initialValue("Enter your pages", "default");
其實也可以直接用OC來寫。 那邊建議直接寫入OC,以區(qū)別于純js技術(shù)。
2
主要對象
所有對對象的操作都是通過. oc的對象對應的對象。 我們可以通過使用 log 命令復制來檢查它。
var doc = context.document,
? ?plugin = context.plugin,
? ?command = context.command,
? ?page = doc.currentPage(),
? ?artboards = page.artboards(),
? ?selectedArtboard = page.currentArtboard(),// 當前被選擇的畫板
? ?selection = context.selection; // 被選擇的圖層
? ?log(doc)
打開---運行,然后將代碼粘貼到里面,點擊右下角的運行按鈕。
3
本機對象方法列表
看到一款優(yōu)秀的IOS APP,想要了解其實現(xiàn)原理,是時候通過逆向工程查看APP的源碼,學習作者的核心思想了。 iOS逆向工程有一個比較好用的工具——。 借助-C語言的特性,提取Mach-O文件中存儲的頭文件信息,生成相應的.h文件。 尤其是插件開發(fā),因為官方文檔比較粗糙,必須了解代碼中已經(jīng)寫好的一些技巧,才能更好的開發(fā)。 已經(jīng)有轉(zhuǎn)儲的頭文件信息,地址:
事實上,你也可以使用該工具從本地轉(zhuǎn)儲一份副本。
4
動手實驗
這部分實際上是本文的重點。 新建一個文件,首先打開sketch 3 的用戶手冊,如右圖。 然后進入運行界面。
然后我們輸入代碼,這是創(chuàng)建n個頁面的代碼:
var doc=context.document;
var num=[doc askForUserInput:@"輸入需要創(chuàng)建的頁面數(shù)量" initialValue:@"5"];
log(num);
for(var n=0;n ? ?var newPage = doc.addBlankPage();
? newPage.setName(n.toString());
};
看看左邊頁面列表的變化,是不是效率很高呢? 接下來嘗試將當前頁面的代碼復制n份:
var doc=context.document,
? ?page=doc.currentPage();
var num=[doc askForUserInput:@"輸入需要創(chuàng)建的頁面數(shù)量" initialValue:@"5"];
log(num);
for(var n=0;n
? ?var newPage = [page copy];
? ?var index=[[doc pages] count];
? ?var newName=page.name()+'_'+index;
? ?[newPage setName:newName]
? ?[[doc documentData] addPage:newPage]
? ?[doc setCurrentPage:page] ? ?
? ?
};
這篇文章是插件開發(fā)的開始,暫時就到這里。 那么接下來我將依次介紹 、 、 組、圖層、樣式、字體、圖像等代碼。 有代碼加持,繪圖效率能提升n倍嗎?
———腦洞開個洞,甚至接入搜索引擎、圖片素材庫、生成html頁面等也是可行的。
*
知識星球
更多插件的開發(fā)可以在知識星球上交流。 還包括:
1、看到一些好的案例和關(guān)鍵技術(shù)方案后,寫文章不系統(tǒng),發(fā)star;
2、我會在知識星球上發(fā)布一些絕密的研究經(jīng)驗;
3 一些特殊的方法知識,供付費用戶使用;
4 公眾號迭代版本,文章內(nèi)容更加升級、更加核心。
5 事實上,這個星球上有資深的專家。
*
熱門文章
*
如有侵權(quán)請聯(lián)系刪除!
Copyright ? 2023 江蘇優(yōu)軟數(shù)字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服務(wù)提供商
13262879759
微信二維碼