objective-c – 如何在NSOutlineView中显示不确定的NSProgressIndicator?

我需要显示加载项目子项的进度.请告知如何实现像在Mail应用程序中完成的进度指示器:

Progress Indicator in Outline View http://www.quicksnapper.com/files/10513/5329281414A48CEBA2FFE0_m.png

P. S.这里是使用指标子视图的源代码http://snippets.dzone.com/posts/show/7684

解决方法

这比应该更难,因为Apple不提供nsprogressIndicatorCell.虽然表格和大纲视图支持在其中显示自定义单元格的想法,但它们未设置为轻松支持自定义子视图.

所以诀窍就变成了,你如何获得一个完整的nsprogressIndicator视图来显示和动画在窗口中的所需位置,而无法在表视图行中实际安装它?

我使用的技巧是将nsprogressIndicator安装为大纲或表视图本身的子视图.要查找添加子视图的位置,使其看起来像“在行中”,请使用frameOfCellAtColumn:row:方法.然后,您可以将进度指示器放置在大纲视图的该位置内.当您完成旋转进度指示器时,您可能不想再显示它,所以只需将其从超级视图中删除并丢弃即可.

您需要确保在进度指示器上设置所需的自动调整标记,以便在调整大纲视图大小时将其浮动到正确的方向.

我确信还有其他类似的黑客可以达到预期的最终结果.我不认为有任何超级干净的方法来完成这个技巧.

相关文章

我正在用TitaniumDeveloper编写一个应用程序,它允许我使用Ja...
我的问题是当我尝试从UIWebView中调用我的AngularJS应用程序...
我想获取在我的Mac上运行的所有前台应用程序的应用程序图标....
我是一名PHP开发人员,我使用MVC模式和面向对象的代码.我真的...
OSX中的SetTimer在Windows中是否有任何等效功能?我正在使用...
我不确定引擎盖下到底发生了什么,但这是我的设置,示例代码和...