我在点击按钮时显示进度指示器时遇到一些问题,然后在 NSTask 完成时停止并隐藏指示器。
这应该是时间表: 1-按钮单击 2-显示进度指示器(从最初隐藏的状态) 3-激活进度指示器 4-激活相关的NSTask 5-继续显示指示符,直到NSTask完成 6-完成NSTask后,隐藏进度指示器。
我知道如何获得动画等的进度指示器。我只是不知道如何将这些与NSTask完成的东西结合起来..
提前感谢您的帮助!
答案 0 :(得分:1)
使用NSTask
的{{1}}属性设置任务终止时要执行的块。在该块中停止/隐藏您的进度指示器。
附录(见评论)
粗略概述:
terminationHandler
请注意,处理程序将传递NSTask *myTask = ...;
NSProgressIndicator *myIndicator = ...;
myTask.terminationHandler = ^(NSTask *theTask) { [myIndicator stopAnimation:nil]; };
,以防它需要从中访问信息。另外NSTask
作为nil
传递给sender
- 您通常会传递stopAnimation:
,但这会导致保留周期以及实际调用该方法的对象并不重要。
答案 1 :(得分:1)
您应该可以将NSTask
的{{1}}设置为阻止。