2013-05-06 66 views
0

我的表单有一个活动指示器和一对文本字段。我想使用绑定,如果活动指示器正在旋转/可见,那么文本字段的可编辑标志将被禁用。当它停止旋转并消失时,文本字段应该可编辑。将NSTextField的可编辑状态绑定到NSProgressIndicator状态

我真的很新绑定,只是不能得到这个工作。如果有人可以帮助提供步骤,我会非常感激。

我试图添加一个NSObjectController,然后将其“内容”绑定到活动指示符,但是却无法弄清楚在文本字段绑定上该怎么做。

回答

3

这是一个很好的问题。你必须做某种间接的约束。您可以将NSProgressIndicator'sAnimate绑定绑定到类中的BOOL。无论何时您想要设置动画效果,请将BOOL设置为YES。但是,您需要将NSTextField's绑定为可编辑或启用(取决于所需效果),并将其绑定到相同的BOOL将导致相反的效果。

编辑: 根据TheNextman的评论,您只需将您的NSTextField的值转换器设置为NSNegateBooleanTransformerName,它会根据BOOL的相反值来启用/禁用它。

+0

是不是已经有'NSNegateBooleanTransformerName',这将节省编写自定义转换器(https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ValueTransformers/Concepts/TransformersAvail.html)?或者我错过了代码示例中的某些内容? – TheNextman 2013-05-18 12:09:55

+1

不错过一件事。我总是忘记那些在那里。 – macandyp 2013-05-18 18:53:29

+0

谢谢!这是我需要的。 – Gargoyle 2013-06-14 16:30:11

相关问题