国产精品高清一区二区三区不卡-国产精品一区二区三区免费视频-日韩免费高清一级毛片-亚洲欧美一区二区三区国产精品-日韩欧美一区二区三区不卡视频-亚欧免费视频一区二区三区-亚洲欧美日韩一区成人-欧美日韩视频综合一区无弹窗-精品日韩在线视频一区二区三区-国内精品视频一区二区三区

你好,歡迎進(jìn)入江蘇優(yōu)軟數(shù)字科技有限公司官網(wǎng)!

誠(chéng)信、勤奮、創(chuàng)新、卓越

友好定價(jià)、專(zhuān)業(yè)客服支持、正版軟件一站式服務(wù)提供

13262879759

工作日:9:00-22:00

設(shè)計(jì)師編程指南之Sketch插件開(kāi)發(fā) 1

發(fā)布時(shí)間:2024-07-30

瀏覽次數(shù):0

我發(fā)現(xiàn)網(wǎng)上關(guān)于插件開(kāi)發(fā)的指南太少了,沒(méi)有一個(gè)能成功,所以我寫(xiě)了這個(gè)系列文章:

我們需要理解語(yǔ)法特征

基于,支持在 JS 中調(diào)用 -c 方法。我們需要了解一些 -c 的一些語(yǔ)法特征。

-C 最大的特點(diǎn)是繼承了消息傳遞模型。在 C++ 中,調(diào)用方法的語(yǔ)法如下:

obj.method(argument);

-C 寫(xiě)成:

[obj method: argument];

下面是一個(gè)示例,例如: 接口: :

OC 寫(xiě)成:

[doc askForUserInput:@"Enter your pages" initialValue:@"default"];

寫(xiě):

doc.askForUserInput_initialValue("Enter your pages", "default");

當(dāng)然,也可以直接用OC的形式寫(xiě)出來(lái)。這里建議直接以O(shè)C的形式編寫(xiě),以區(qū)別于純js方法。

主要對(duì)象

所有對(duì)對(duì)象的操作都經(jīng)過(guò) 。 對(duì)象,oc 對(duì)應(yīng)于 。我們可以將其打印出來(lái)并使用 log 命令進(jìn)行查看。

var doc = context.document,
? ?plugin = context.plugin,
? ?command = context.command,
? ?page = doc.currentPage(),
? ?artboards = page.artboards(),
? ?selectedArtboard = page.currentArtboard(),// 當(dāng)前被選擇的畫(huà)板
? ?selection = context.selection; // 被選擇的圖層

? ?log(doc)

打開(kāi) --- 運(yùn)行 ,然后將上述代碼粘貼到其中,然后按右下角的 運(yùn)行 按鈕。

sketch文件打不開(kāi)_文件打開(kāi)軟件_文件打開(kāi)方式變了怎么恢復(fù)

本機(jī)對(duì)象方法清單

如果你看到一個(gè)優(yōu)秀的IOS APP,想要了解它的實(shí)現(xiàn)原理,你應(yīng)該通過(guò)逆向工程來(lái)檢查APP的源代碼,學(xué)習(xí)作者的核心思想。IOS逆向工程有一個(gè)很好的工具:類(lèi)轉(zhuǎn)儲(chǔ)。它利用-C語(yǔ)言的特性,提取存儲(chǔ)在Mach-O文件中的頭文件信息sketch文件打不開(kāi),并生成相應(yīng)的.h文件。特別是對(duì)于插件開(kāi)發(fā)來(lái)說(shuō),由于官方文檔寫(xiě)得很粗糙,所以需要理解一些已經(jīng)寫(xiě)在代碼中的方法,以便更好地開(kāi)發(fā)。有一個(gè)頭文件信息已經(jīng)被傾倒掉了,地址:

當(dāng)然,您也可以使用該工具自己從本地轉(zhuǎn)儲(chǔ)一個(gè)副本。

動(dòng)手實(shí)驗(yàn)

這當(dāng)然是本文的重點(diǎn)。要?jiǎng)?chuàng)建新文件,請(qǐng)先打開(kāi)顯示頁(yè)面列表,如下所示。然后進(jìn)入運(yùn)行界面。

文件打開(kāi)方式變了怎么恢復(fù)_文件打開(kāi)軟件_sketch文件打不開(kāi)

然后我們輸入代碼,這是一段用于創(chuàng)建 n 個(gè)新頁(yè)面的代碼:

var doc=context.document;

var num=[doc askForUserInput:@"輸入需要?jiǎng)?chuàng)建的頁(yè)面數(shù)量" initialValue:@"5"]; log(num);

for(var n=0;n? ?var newPage = doc.addBlankPage(); ? newPage.setName(n.toString()); };

看看左邊頁(yè)面列表的變化,是不是效率不高?接下來(lái),嘗試復(fù)制當(dāng)前頁(yè)面的代碼 n 份:

var doc=context.document,
 ? ?page=doc.currentPage();

var num=[doc askForUserInput:@"輸入需要?jiǎng)?chuàng)建的頁(yè)面數(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] ? ?
? ?
};

本文是插件開(kāi)發(fā)的開(kāi)始,所以我暫時(shí)會(huì)寫(xiě)到它。你覺(jué)得怎么樣?接下來(lái),我們將介紹代碼、組、圖層、樣式、字體、圖像等,在代碼的加持下,繪圖效率能提高n倍嗎?

————打開(kāi)大腦也是可行的,甚至可以訪(fǎng)問(wèn)搜索引擎、圖片素材庫(kù)、生成HTML頁(yè)面等。

知識(shí)星球

更多插件開(kāi)發(fā)可以在 上進(jìn)行交流。還包括:

1、看一些好的案例,關(guān)鍵的技術(shù)方案sketch文件打不開(kāi),寫(xiě)出不系統(tǒng)的文章,發(fā)到星球上;

2 我會(huì)在 上發(fā)布一些非常保密的研究想法;

3、對(duì)付費(fèi)用戶(hù)有一定的熟練掌握的知識(shí);

4 公眾號(hào)迭代版發(fā)布更多文章的升級(jí)和核心內(nèi)容。

5 當(dāng)然,這個(gè)星球上也有資深的專(zhuān)家。

熱門(mén)文章

如有侵權(quán)請(qǐng)聯(lián)系刪除!

13262879759

微信二維碼