微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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:方法.然后,您可以将进度指示器放置在大纲视图的该位置内.当您完成旋转进度指示器时,您可能不想再显示它,所以只需将其从超级视图中删除并丢弃即可.

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐