Thi*_*mus 5 xcode cocoa objective-c selection
有谁知道如何跟踪NSTextField.currentEditor.selectedRange价值变化NSTextField?
有这个奇妙的东西NSTextViewDidChangeSelectionNotification,它完全符合我的需要,但它只适用于NSTextView.
我试过和KVC/KVO玩,但我得不到我想要的东西.我认为我做错了什么.
我将尝试解释我需要实现的目标.
我有NSTextField,下面我有一个标签,我想从NSTextField.currentEditor.selectedRange上面的文本选择中放置值.实时,即我想NSTextField.currentEditor.selectedRange在选择文本区域的同时连续更新我的标签内容,选择长度和起始位置.
NSTextField使用当前窗口的字段编辑器进行实际的文本编辑,这是一个NSTextView. 要订阅NSTextViewDidChangeSelectionNotification该文本视图,您需要找出您的字段何时获得键盘焦点,然后向其询问currentEditor。
遗憾的是,它似乎controlTextDidBeginEditing:从未被调用,但您可以重写becomeFirstResponder以获得相同的效果(请务必调用 super)。
不过,我找不到取消订阅的好地方,因为文本字段只有一瞬间的键盘焦点,然后在创建并激活字段编辑器 NSTextView 时失去它。
所以最后,我要做的是nil在创建视图时使用对象订阅通知,在 dealloc 中取消订阅,并检查notification.object == self.currentEditor通知处理程序中是否存在并忽略所有其他处理程序。
| 归档时间: |
|
| 查看次数: |
1148 次 |
| 最近记录: |