NSProgressIndicator有名为startAnimation:和stopAnimation:的方法,但我找不到任何方法来检查状态(无论它当前是否处于动画状态)。你会怎么做?
发布于 2011-08-31 23:45:45
您可以在开始和停止动画时分别设置为YES或NO的BOOL值保留在类中的某个位置。
发布于 2011-09-01 07:20:55
不应将控件的状态存储在控件本身中。
进度指示器控件不提供对其动画状态的访问,因为与文本字段之类的控件不同,用户无法更改控件的状态。如果您的代码没有启动控件,您将永远不会遇到控件状态发生更改的情况。因为你是设置它的状态的人,所以你应该跟踪它。
Cocoa使用模型-视图-控制器模式,进度指示器是一个视图。如果你将状态存储在控件中,那么你就违反了MVC模式。
您的视图应该始终反映您的模型,并且控制器在那里以确保视图和模型保持同步。
当模型中存储的BOOL发生更改时,您应该使用Cocoa绑定将进度指示器的动画状态绑定到模型中存储的BOOL (首选),或者在控制器类中实现代码以控制进度指示器的动画状态。
https://stackoverflow.com/questions/7259339
复制相似问题