6

NSProgressIndicator具有称为startAnimation:and的方法stopAnimation:,但我找不到检查状态的方法(当前是否处于动画状态)。你会怎么做?

4

2 回答 2

4

您不应该将控件的状态存储在控件本身中。

进度指示器控件不提供对其动画状态的访问,因为与文本字段之类的东西不同,用户无法更改控件的状态。如果您的代码没有启动它,您将永远不会处于控件状态更改的情况。因为你是设置它状态的人,所以你应该跟踪它。

Cocoa 使用模型-视图-控制器模式,进度指示器是一个视图。如果您将状态存储在控件中,那么您就违反了 MVC 模式。

您的视图应该始终反映您的模型,并且控制器在那里确保视图和模型保持同步。

您应该使用 Cocoa Bindings 将进度指示器的动画状态绑定到存储在模型中的 a(首选),或者在控制器类中实现代码以在存储的BOOLa 发生更改时控制进度指示器的动画状态BOOL模型。

于 2011-08-31T23:20:54.613 回答
0

您可以BOOL在您设置的类中的某处保留一个值,YES或者NO分别在启动和停止动画时保留一个值。

于 2011-08-31T15:45:44.883 回答