当前位置:  开发笔记 > IOS > 正文

如何在NSOutlineView中显示不确定的NSProgressIndicator?

如何解决《如何在NSOutlineView中显示不确定的NSProgressIndicator?》经验,为你挑选了1个好方法。

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

大纲视图中的进度指标http://www.quicksnapper.com/files/10513/5329281414A48CEBA2FFE0_m.png

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



1> danielpunkas..:

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

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

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

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

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

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有