我正在尝试开发一个用于获取Sketch插件输入的UI。据我所知,Sketch允许我们用JS,Cocoascript和Objective-C编写,最终将所有内容转换为Objective-C。
我使用以下代码生成UI组件,如文本框和下拉列表。我不确定如何动态连接它们。例如,如果我将下拉列表的值从a更改为b,我想撤消文本框。
var pluginView = [[NSView alloc] initWithFrame: NSMakeRect(0,0,450,600)]
// Textbox
var ui_textbox = [[NSTextField alloc] initWithFrame: NSMakeRect(0,20,100,20)]
[ui_textbox setStringValue: "10"]
[pluginView addSubview: ui_textbox]
// dropdown
var ui_dropdown = [[NSComboBox alloc] initWithFrame: NSMakeRect(0,40,100,20)]
[ui_dropdown addItemWithObjectValue: "a"];
[ui_dropdown addItemWithObjectValue: "b"];
[ui_dropdown selectItemWithObjectValue: "a"];
[pluginView addSubview: ui_dropdown]
我假设在下拉列表更新时应该有一种触发函数的方法,在该函数中,我可以操纵其他UI参数。我知道如何操纵UI组件。我无法弄清楚如何触发onchange函数。
我已经尝试过调用函数" ui_update"通过以下方式
[rotateRelative setAction: "ui_update"];
[rotateRelative setAction: "ui_update:"];
[rotateRelative setAction: @selector"ui_update:"];
但没有运气。该函数不会被调用。
任何帮助都将非常有用。 干杯!