【问题标题】:Cocoa NSString auto controlCocoa NSString 自动控制
【发布时间】:2012-01-15 19:13:05
【问题描述】:
大家好,对不起我的英语不好
我用 xcode 和 interface builder 开发了一个 coca 应用程序,标签和 nstextfield 很少,还有一个发布按钮。
我想在点击我的文本时动态控制我的文本字段(如果不允许使用字符或控制长度,则为文本着色)。
我找到了很多解决方案,但我不知道我必须在我的可可应用程序中实现代码的位置:( 但是当我点击发布按钮时我能够控制我的 nstextfield,但在点击 nstextfield 时却不能。
我搜索了很多小时......
感谢您的帮助!
【问题讨论】:
标签:
xcode
macos
cocoa
controls
nstextfield
【解决方案1】:
您可以通过设置与您的NSTextField 关联的属性来控制文本颜色或字体大小,甚至是否启用了文本字段。
如果您想在点击NSTextField 时进行更改,请设置一些类(可能是您的窗口控制器?)以符合NSTextFieldDelegate 协议,然后将其连接到NSTextField 的delegate 属性(通过 XIB 或以编程方式通过 NSTextField `setDelegate' 方法。
然后,当点击 NSTextField 时,您可以通过如下委托方法捕获发生的点击事件:
[control: textShouldBeginEditing:](当您单击文本字段,或者如果您按 Tab 进入位置,或者当文本字段成为下一个出现在键盘中输入的文本的位置时,就会调用它)。
到目前为止这有意义吗?
有很多 NSTextFieldDelegate 示例可供您在 Google 上搜索,问题的答案可以在这里找到,like this one。