我正在尝试开发一个 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:"];
但没有运气。该函数不会被调用。
任何帮助都会非常有用。干杯!