我目前正在使用Swift編寫OS X應用程序。我想要做的是當用戶在NSTextField
中輸入文本時,我想運行一個函數來檢查該值並將其添加到標籤。我將如何迅速做到這一點?如何生活檢查NSTextField - Swift OS X
3
A
回答
5
- 符合
ViewController
到協議NSTextDelegate
。 - 分配
ViewController
作爲代表TextField
。 執行
controlTextDidChange
方法。import Cocoa @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate, NSTextFieldDelegate { @IBOutlet weak var window: NSWindow! @IBOutlet weak var textField: NSTextField! @IBOutlet weak var label: NSTextField! func applicationDidFinishLaunching(aNotification: NSNotification) { textField.delegate = self } override func controlTextDidChange(notification: NSNotification) { let object = notification.object as! NSTextField self.label.stringValue = object.stringValue } func applicationWillTerminate(aNotification: NSNotification) { // Insert code here to tear down your application } }
在視圖控制器:
import Cocoa
class ViewController: NSViewController, NSTextDelegate {
@IBOutlet weak var label: NSTextField!
@IBOutlet weak var label2: NSTextField!
@IBOutlet weak var textField: NSTextField!
@IBOutlet weak var textField2: NSTextField!
override func viewDidLoad() {
super.viewDidLoad()
}
override func controlTextDidChange(notification: NSNotification) {
if let txtFld = notification.object as? NSTextField {
switch txtFld.tag {
case 201:
self.label.stringValue = txtFld.stringValue
case 202:
self.label2.stringValue = txtFld.stringValue
default:
break
}
}
}
}
-3
您可以使用NSNotificationCenter來觀察您的文本字段。
@IBOutlet weak var textField: UITextField!
在viewDidLoad中()
let noti = NSNotificationCenter.defaultCenter()
noti.addObserver(self, selector: "textDidChange:", name: UITextFieldTextDidChangeNotification, object: textField)
,然後定義一個函數,如:
func textDidChange(noti: NSNotification) {
print(textField.text)
}
現在你在文本字段中輸入的每個梯形,它將在textDidChange打印出來()函數。
希望這有助於
+0
該代碼是針對iOS不是OS X.我在'UITextFieldTextDidChangeNotification'得到一個錯誤,我試圖與'UITextFieldTextDidChangeNotification來取代它'但它仍然不起作用。錯誤是'未解決的標識符' – iProgram
相關問題
- 1. OS X - 如何檢測硬盤活動?
- 2. 如何在Mac OS X的NSTextField中啓用拼寫檢查?
- 3. 如何旋轉OS X上的NSTextField?
- 4. 在Mac OS X上使用Swift檢查OS版本
- 5. 在SWIFT OS X中以編程方式添加和刪除NSTextField
- 6. 使用Swift在NSTextField中拼寫檢查
- 7. 如何更改NStextField的插入文本(光標)? for os x swift 2
- 8. Twitter OAuth Swift OS X
- 9. 如何檢查os x中的框架可用性?
- 10. 下滑彈出OS X Swift
- 11. Xcode Swift OS X popover行爲
- 12. 如何在Mac OS X中檢測SSD?
- 13. swift OS X運行函數返回segue
- 14. 如何檢查OS X中的管理員權限?
- 15. 如何在OS X中檢查用戶名/密碼組合?
- 16. OS X如何檢查證書是簽名
- 17. 如何檢查PostgreSQL服務器的狀態Mac OS X
- 18. 如何在Mac OS X上執行更新檢查
- 19. 如何爲Linux或OS X上的Swift軟件包生成代碼覆蓋率?
- 20. 如何檢查在SWIFT 3.0
- 21. OS X從shell中返回到Xcode swift
- 22. OS X Swift WebView禁用滾動
- 23. OS X 11.4 Xcode 7.3 Swift REPL錯誤
- 24. Swift Core Data在OS X中顯示Tableview
- 25. 生活的遊戲,C檢查生活狀況
- 26. LLVM鏘產生在OS X
- 27. Firebreath mac os x在插件窗口中創建NSTextField
- 28. Mac OS X:刪除標籤中的文本(NSTextField)
- 29. 從NSTask輸出文本到NSTextField OS X - XCode目標-C
- 30. 遊戲生活C++,檢查鄰居
感謝您的代碼。稍後再試。我如何檢測被編輯的標籤(我可能在一個點上有2個) – iProgram
使用標籤,可以識別特定的控件。代碼值在Interface Builder中設置 – madmir
代碼需要從NSTextFieldDelegate繼承,而不是NSTextDelegate。您還需要將文本字段委託設置爲self。 – iProgram