MacRuby:将 NSTextField 限制为整数

发布于 2024-11-15 14:18:19 字数 207 浏览 2 评论 0原文

我只是使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼波传意 2024-11-22 14:18:19

一个天真的但有效的方法是子类化NSTextField并且(这是天真的部分)ovverride textDidChangeforce将数字值转换为数字:

换句话说,在 Classes 文件夹中创建一个新的 ruby​​ 文件,添加此代码并更改 IB 内的字段类(您的 xib > 要更改的字段 > 检查器 > 类下拉列表)

class OnlyNumbersTextField < NSTextField
    def textDidChange(notification)

        self.setIntValue(self.intValue)

    end
end

希望这有帮助。

A naive but effective approach would be to subclass NSTextField and (this is the naive part) ovverride textDidChange 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)

class OnlyNumbersTextField < NSTextField
    def textDidChange(notification)

        self.setIntValue(self.intValue)

    end
end

Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文