前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Action API目录

Action API目录

作者头像
iOSDevLog
发布2018-05-17 10:58:38
8750
发布2018-05-17 10:58:38
举报
文章被收录于专栏:iOSDevLogiOSDevLog

在Sketch 3.8中,我们引入了Action API:一种让插件对应用程序中的事件作出反应的方式。使用它,插件作者可以编写在触发某些操作时执行的代码,如“打开文档”,“保存”,“添加画板”......

什么是操作(Action)?

操作是应用程序中发生的事件,通常是用户交互的结果。操作有名称CloseDocumentDistributeHorizontally或者TogglePresentationMode,你可以告诉你的插件在这些操作被触发时运行代码。

我如何注册我的插件来“聆听”一个操作?

简单:你只需在manifest.json你的插件已有的文件中添加一个处理程序。

我们将为该OpenDocument操作添加一个新的处理程序:

代码语言:javascript
复制
"commands" : [
  ...
+  {
+    "script" : "my-action-listener.js",
+    "name" : "My Action Listener",
+    "handlers" : {
+      "actions": {
+        "OpenDocument": "onOpenDocument"
+      }
+    },
+    "identifier" : "my-action-listener-identifier"
+  }
  ...
],

我们告诉我们的插件,我们希望onOpenDocument在文档打开时运行该功能,所以让我们将其添加到my-action-listener.js

代码语言:javascript
复制
export function onOpenDocument(context) {
  context.document.showMessage('Document Opened')
}

保存所有内容,构建插件,现在,无论何时在Sketch中打开文档,您都应该看到一个小小的吐司(Toast)横幅,上面写着“文档已打开”。

行动上下文

当一个操作被触发时,Sketch可以向目标函数发送一些关于操作本身的信息(例如选择改变时选择的图层,或者打开新文档时的当前文档)。我们称之为操作上下文,并且可以使用context作为目标函数的参数发送的操作context.actionContext

但请记住,并非所有操作都会设置Action Context。事实上,他们中的大多数目前都没有,所以如果您认为您想在Action Context中访问某些内容,请向我们发送便条,然后尽快添加。

begin/ finish行动

一些行动(如SelectionChanged)实际上发生在两个阶段:beginfinish。如果你想调用一个函数只对其中的一个,你可以添加一个处理程序SelectionChanged.begin,或SelectionChanged.finish。如果您不添加任何内容,该操作将被触发两次。

找到正确的行动

有关API中所有可用操作的列表,请查看操作参考部分

专业提示:有时浏览列表的工作量太大,而您只想要更直接一些。对于这些情况,您可以听取所有操作以找到您需要的一个。

再次,如果有任何事件想要添加到列表中,请告诉我们,我们将尝试添加它(由于性能原因,某些事件不在列表中,例如“图层被拖动”)。

下一步

如果您想更详细地了解Action API,请尝试以下主题:

原文:https://developer.sketchapp.com/guides/action-api/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.03.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在Sketch 3.8中,我们引入了Action API:一种让插件对应用程序中的事件作出反应的方式。使用它,插件作者可以编写在触发某些操作时执行的代码,如“打开文档”,“保存”,“添加画板”......
    • 什么是操作(Action)?
      • 我如何注册我的插件来“聆听”一个操作?
        • 行动上下文
          • begin/ finish行动
            • 找到正确的行动
              • 下一步
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档