我的ViewController.swift文件有两个插座。

@IBOutlet var myOutlet: NSTextField!
@IBOutlet var yourOutlet: NSTextField!


也有一个动作被连接。

@IBAction func myAction(sender: NSTextField) {
    self.yourOutlet.doubleValue = myOutlet.doubleValue - 10


当我运行该应用程序时,它可以工作。
我在myOutlet连接的文本字段中输入15,然后按Enter。 yourOutlet连接的字段的值为5。

如果不需要输入按钮,那会更好。那么,如何在键入时使值立即变化?

感谢您的回答。

最佳答案

我没有机会进行快速和OSX开发,但是我可以带您找到解决方案。

看看textDidChange(_:)


  发布文本已更改的通知并转发此通知
  消息发送到接收方的单元格(如果响应)。
  
  宣言
  
  func textDidChange(_ aNotification: NSNotification)
  参数aNotification NSControlTextDidChangeNotification
  通知发布到默认通知中心。
  讨论此方法使接收方的代表收到
  controlTextDidChange:消息。请参阅NSControl类规范
  有关文本委托方法的更多信息。


因此要实现您的目标,您将实现此委托,每次在NSTextField中编辑文本时都会调用该委托,然后在该委托块中提供所需的逻辑。

关于objective-c - 如何在键入时立即更改NSTextField的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28570863/

10-13 05:47