Cocoa:如何在不按Enter的情况下让textfield发送动作(用户键入的动作)

时间:2011-10-28 07:27:01

标签: cocoa textfield nstextfield continuous

我有一个简单的cocoa应用程序,顶部有一个可编辑的textfield text1,用户可以输入内容,底部有一个不可编辑的textfield / label text2,用于显示text1中输入的内容。

我的问题是,当用户在键入text1后按Enter键时,我只能让text2更新。有没有什么方法可以让text2自动更新,而无需用户按下enter into text1?

2 个答案:

答案 0 :(得分:1)

如果您想要在每次文本更改时收到通知,请在文本字段的委托中处理controlTextDidChange:。委托可以是响应此消息的任何对象,通常使用窗口的控制器。

答案 1 :(得分:1)

听起来像Cocoa bindings的工作。你可以:

  1. 在模型类中声明NSString属性(在简单情况下,可以是您的应用程序委托);
  2. text1绑定到该字符串属性,确保选择“Continuously Updates Value”;
  3. text2绑定到该字符串属性。
  4. 需要代码的唯一步骤是步骤1.步骤2和3可以直接在nib文件中配置。