我在Xcode和MacOS应用程序的新手。请让我帮忙。我无法理解如何编写操作(或事件我不知道)创建限制字符集并检查兼容字符(0-9,e,。)上的NSTextField。我读了如何创建字符集(NSCharacterSet),但不能接下来需要什么。我想禁止在我的NSTextField上输入错误的字符。如何在Objective-C中处理NSTextField和其他事件的键盘事件?像例子。NSTextField字符集限制
回答
我会在textField上放一个NSFormatter
。这是可可方式:d
textField.formatter = myFormatter;
..例如一个NSNumberFormatter或者如果需要的话一个自定义
看到
我在Cocoadev上发现了一篇文章,可以帮助你。 (http://lists.apple.com/archives/cocoa-dev/2006/Aug/msg01492.html)
你要的注册通知时通知文本的变化,例如:
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(textDidChange:)
name: NSControlTextDidChangeNotification
object: textField];
然后在您的textDidChange:方法(或任何你的名字),你可以修改输入。例如,为了确保大写:
[[textField setStringValue: [[textField stringValue] uppercaseString]];
如果你想限制的数字量,你可以只使用deleteCharactersInRange:的NSMutableString的方法。如果您想限制在文本字段中找到的文本类型,可以使用包含所有允许的字符的NSMutableCharacterSet,然后使用NSScanner的scanCharactersFromSet:intoString方法过滤掉不需要的字符。
的作品,而只是实现委托比较容易:d – 2013-03-18 19:57:05
是啊,我是那种不知道他们为什么通过'NSNotification'做的,而不是的代表。 – StilesCrisis 2013-03-18 19:57:57
在OSX上,他们只是发送nsnotifications - 总是 - 代表总是第一个接收者,虽然 – 2013-03-18 19:58:59
- 1. MacRuby:限制NSTextField为整数
- 2. NSTextField setStringValue:将字符串附加到NSTextField
- 3. 限制用户密码字符集
- 4. DESCryptoServiceProvider .net和限制加密字符集
- 5. Oracle JDBC字符集和4000字符限制
- 6. 如何限制字符串到JavaScript中的特定字符集?
- 7. NSTextField设置最大字符
- 8. 限制字符jquery
- 9. jquery限制字符
- 10. richTextBox字符限制?
- 11. 字符串限制字 - UTF8
- 12. 如何绘制旋转文字而不限于MacRoman字符集?
- 13. 限制文本输入字段中的字符集
- 14. 限制字符串字符 - PHP
- 15. snmp字符串限制?
- 16. 密码的限制字符
- 17. JavaScript字符串限制?
- 18. PHP/MySQL的限制字符
- 19. 使用strlen限制字符
- 20. 限制特殊字符
- 21. HTML中的字符限制
- 22. jinja2模板字符限制
- 23. 增加字符的限制
- 24. 限制Textarea字符串联
- 25. 处理GET字符限制
- 26. 字符长度限制$ _GET?
- 27. 文本字符数限制
- 28. 文本框字符限制
- 29. 输入限制字符数
- 30. 限制为250个字符
是啊,它的好,但用户可以输入错误的字符在文本字段:(我认为需要使用代表解决这个任务。知道:(。 – amigo 2013-03-19 12:36:26
我正确理解委托自动工作? – amigo 2013-03-19 12:38:18
teftField.delegate = self。然后实现NSTextFieldDelegate(它的一个或多个功能) – 2013-03-19 13:11:16