MacRuby:将 NSTextField 限制为整数
我只是使用 IB 版本 3.2.6 学习 Cocoa 和 Interface Builder 的基础知识。我正在学习如何将 MacRuby 用于本机 OS X 应用程序。
我有一个 NSTextField,我只想接受整数值。我使用了 NSNumberFormatter 但它似乎没有只接受整数的选项。
你会怎么做?可以在 Interface Builder 中完成吗?
I'm just picking up the basics of Cocoa and Interface Builder -- using IB version 3.2.6. I'm looking to learn how to use MacRuby for native OS X apps.
I have an NSTextField that I would like to only accept integer values. I used NSNumberFormatter but it doesn't seem to have an option to only accept integers.
How would you do this? Can it be done in Interface Builder?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一个天真的但有效的方法是子类化
NSTextField
并且(这是天真的部分)ovverridetextDidChange
到force将数字值转换为数字:换句话说,在 Classes 文件夹中创建一个新的 ruby 文件,添加此代码并更改 IB 内的字段类(您的 xib > 要更改的字段 > 检查器 > 类下拉列表)
希望这有帮助。
A naive but effective approach would be to subclass
NSTextField
and (this is the naive part) ovverridetextDidChange
to force the digited value to a number:In other words, create a new ruby file in your Classes folder add this code to It and change the field class inside IB (your xib > filed you want to change > inspector > Class dropdown)
Hope this helps.