我目前正在使用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