NSStepper忽略当前的NSTextField值

时间:2010-01-29 16:23:46

标签: cocoa user-interface

我遇到与使用NSTextField集成NSStepper中描述的相同的初始问题:

  

我需要让NSTextField使用NSStepper作为一个控件,以便我可以通过直接在文本字段上更改它或使用步进向上/向下箭头来编辑整数值。

使用carlosb评论的绑定会产生可用的UI。但是,在最初的问题中,carlosb描述了以下内容:

  

问题是,如果我编辑文本字段然后再次单击步进器,它将忘记我手动编辑的值并使用步进器的内部值。

这就是我再次发布此问题的变体的原因。 carlosb使用绑定并不能解决这个问题。这在我正在处理的当前项目和我创建的测试项目中都会发生。可以在GitHub找到test project。您可以通过右上角的“下载源”按钮在那里下载(即使没有git)。

有没有一种干净的方法来解决这个问题?

2 个答案:

答案 0 :(得分:1)

您的问题是,在您按返回或字段失去焦点之前编辑不会结束(因此数字从未实际更改过)。如果您在编辑后按返回或离开该字段,您将看到它按预期工作。

一种解决方案是检查文本字段的值绑定中的“连续更新值”选项,并检查文本字段属性中的“连续”选项。

这将确保在键入时更新值,因此立即单击步进器将反映这些更改。

答案 1 :(得分:1)

文本字段和滑块都位于MVC模式的视图层中。通过将这两个视图绑定到控制器的属性,您将获得更好的结果。