Dan*_*iel 8 cocoa notifications delegates objective-c nstextfield
我一直在努力学习使用Xcode,但我对如何注册NSTextField
已经改变感到困惑.基本上,我有NSTextField
一个按钮.单击该按钮可以显示字段中的文本.但是,我希望能够获取该字段的文本,而无需使用文本字段"操作:发送结束编辑".也就是说,我希望能够输入文本并立即按下按钮,而无需按文本框中的输入或标签.看起来这样做的方法是为我的NSTextField
响应设置一个委托
- (void)controlTextDidChange:(NSNotification *)aNotification
Run Code Online (Sandbox Code Playgroud)
但我不明白如何获取已输入的文本.我认为它与某些事情有关
[[aNotification userInfo] valueForKey:@"NSFieldEditor"];
Run Code Online (Sandbox Code Playgroud)
但我真的不知道从那里去哪里.
Jos*_*ell 10
你走在正确的轨道上!从通知的用户信息字典中获取的对象是字段编辑器,它只是NSTextView
代表文本字段处理文本输入的对象.
一旦你拥有了这个对象,你所要做的就是询问它textStorage
,它是一个NSTextStorage
持有文本的*对象.反过来,那个对象有string
一个NSString
只有角色的普通老人.
NSTextView * fieldEditor = [[aNotification userInfo] objectForKey:@"NSFieldEditor"];
NSString * theString = [[fieldEditor textStorage] string];
Run Code Online (Sandbox Code Playgroud)
*子类NSAttributedString
,它是一个包含字符串和相关"属性"(如颜色,字体和下划线)的对象.
归档时间: |
|
查看次数: |
4702 次 |
最近记录: |