我的视图控制器需要响应键盘输入,但我知道获取键盘输入的唯一方法是子类NSView
并覆盖keyDown
。没关系,但我不知道如何将数据恢复到视图控制器。是否有更简单的方法将键盘输入到视图控制器,如果没有,我如何将从视图接收的键盘数据传递给视图控制器?
答案 0 :(得分:0)
假设使用通用控件
您的控制器应该对文本更改实施UITextFieldDelegate
(或UITextViewDelegate
)和“监听”。然后,您将控制器作为delegate
分配给UITextField
(或UITextView
);一旦被分配,控制器就会调用你的控制器,然后用文本做你喜欢的事。
一种常见的方法是实现委托方法:
optional func textFieldDidEndEditing(_ textField: UITextField)
然后在该方法中使用textField.text
获取String
,然后您可以将其分配给控制器中的某个属性。
较低级别如果您不使用通用控件,那么您的View Controller应该是NSResponder的子类。您可以实施方法keyUp
和keyDown
以获得关键事件的通知。