有兩個插座連接到我的ViewController.swift文件。如何在鍵入時立即更改NSTextField的值?
@IBOutlet var myOutlet: NSTextField!
@IBOutlet var yourOutlet: NSTextField!
還有一個動作連接。
@IBAction func myAction(sender: NSTextField) {
self.yourOutlet.doubleValue = myOutlet.doubleValue - 10
當我運行該應用程序,它的工作原理。 我輸入15到myOutlet連接的文本字段,然後按回車。和yourOutlet連接的字段取值爲5.
如果沒有輸入按鈕,那就更好了。那麼,如何在我們輸入時立即改變價值?
感謝您的答案。
感謝您的好回答。但因爲我是初學者,無法想出使用這種方法。 當我使用僅'@IBAction FUNC brutAct(發件人:的NSTextField){ 如果NSControlTextDidChangeNotification == TRUE { self.kdvOut.doubleValue = brutOut.doubleValue + 1.0 }' 它不起作用。 如果我創建這樣的方法,並嘗試使用: 'FUNC textDidChange(myNotification:NSNotification){ NSControlTextDidChangeNotification == TRUE' 什麼也沒有發生任何:( – defendus 2015-02-17 21:28:30
其實,這是一個文本*查看委託*。由於text * field *是一個控件,因此它會向其代理髮送'controlTextDidChange(_ :)'。 – 2015-02-17 21:29:37
要使用委託方法,首先將文本字段的'delegate'出口連接到控制器。將'NSControlTextDidChangeNotification'與'true'比較,你可以將'myNotification.name'與'NSControlTextDidChangeNotification'比較,但沒必要,因爲該方法只能被調用,只需要做一些類似'func controlTextDidChange(myNotification:NSNotification) {self.kdvOut.do ubleValue = brutOut.doubleValue + 1.0}'。 – 2015-02-17 21:34:27