MacOS的菜单状态栏App添加饼型进度
猴子原创,欢迎转载。转载请注明: 转载自Cocos2Der-CSDN,谢谢!  
原文地址: http://blog.csdn.net/cocos2der/article/details/52075418
使用swift如何开发一个MacOS的状态栏App,上一篇已经讲了。里面我忘记提如何修改状态icon为饼型进度。比如App在处理什么事情的时候,可以添加进度状态提示用户。如下图所示: 
/// 显示状态栏菜单饼型进度
    private func showStatusItemProgress() {
        if let button = statusItem.button {
            // FIXME: it works, but obviously not good.
            button.subviews.removeAll()
        }
        if let button = statusItem.button {
            // FIXME: it works, but obviously not good.
            let frame = NSRect(x: 6, y: 2, width: 18, height: 18)
            let progressIndicator = NSProgressIndicator(frame: frame)
            progressIndicator.style = .SpinningStyle
            progressIndicator.indeterminate = false
            progressIndicator.minValue = 0
            progressIndicator.maxValue = 100
            progressIndicator.doubleValue = 0
            self.progressIndicator = progressIndicator
            // 当添加进度后,发现状态栏frame大小错误了,没找到解决办法,但是填充一个图片可以解决这个尺寸错误问题
            statusItem.image = NSImage(named: "EmptyIcon")
            statusItem.image?.template = true
            button.addSubview(progressIndicator)
        }
    }
请注意, 
- 我们是把一个NSProgressIndicator添加到了NSStatusItem的button视图上,不要添加到view视图上,如果添加到view上,view会挡住状态栏点击事件,这样NSStatusItem会不能响应用户点击了。(当然,如果你app恰好不需要用户点击,可以这样做) 
- 你应该留意到了,我在NSStatusItem的image里放了一张透明图片,因为这了是为了解决它frame大小错误的问题
当然,如果你知道如何解决的话,可以告诉我下。哈哈。
MacOS的菜单状态栏App添加饼型进度的更多相关文章
- 使用Swift开发一个MacOS的菜单状态栏App
		
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/52054107 ...
 - 为你的MacOS App添加开机自启动(Swift)
		
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/52104828 ...
 - 在WordPress后台菜单系统中添加Home链接
		
在wordpress后台如果想打开前台的话,要想先把鼠标移动到左上角菜单,然后在下拉菜单中点击“查看站点”,很是麻烦,能不能在 WordPress 后台菜单系统中添加 Home 链接呢? 将下面代码复 ...
 - ectouch第十一讲 之  ECTouch 菜单里如何添加文章链接
		
1.首先在 ectouch 后台添加好文章分类和文章内容(具体添加方法很简单,这里就不再赘述),然后在菜单管理里添加导航如下(链接地址的获取方法参考步骤 2):2.文章分类列表 域名/mobile/i ...
 - 零行代码为App添加异常加载占位图
		
前文提要 近期准备重构项目,需要重写一些通用模块,正巧需要设置App异常加载占位图的问题,心血来潮设想是否可以零行代码解决此问题,特在此分享实现思路. 思路分享 对于App占位图,通常需要考虑的控件有 ...
 - 如何给自己的app添加分享到有道云笔记这样的功能
		
文章同步自http://javaexception.com/archives/34 如何给自己的app添加分享到有道云笔记这样的功能 问题: 在之前的一个开源笔记类项目Leanote中,有个用户反馈想 ...
 - 雷林鹏分享:jQuery EasyUI 树形菜单 - 树形网格添加分页
		
jQuery EasyUI 树形菜单 - 树形网格添加分页 本教程展示如何向带有动态加载特性的树形网格(TreeGrid)添加分页. 创建树形网格(TreeGrid) 启用树形网格(TreeGrid) ...
 - 零行代码为 App 添加异常加载占位图
		
前文提要 近期准备重构项目,需要重写一些通用模块,正巧需要设置App异常加载占位图的问题,心血来潮设想是否可以零行代码解决此问题,特在此分享实现思路. 思路分享 对于App占位图,通常需要考虑的控件有 ...
 - 首次给app添加页面
		
app添加页面的步骤(含泪史,都是自己摸索出来的) 1.通过页面上的文字,利用搜索功能找到这个页面 2.根据这个页面找到这个页面的action(注意了,这个R.layout.后面这个是页面文件名字) ...
 
随机推荐
- poj 2888 Magic Bracelet(Polya+矩阵快速幂)
			
Magic Bracelet Time Limit: 2000MS Memory Limit: 131072K Total Submissions: 4990 Accepted: 1610 D ...
 - ubuntu16.04安装eclipse后启动栏图标为问号
			
ubuntu创建eclipse快捷方式图标. cd /usr/share/applications sudo touch eclipse.desktop sudo gedit eclipse.desk ...
 - Gradle学习之构建java与web项目
			
一.使用Gradle的java插件构建Java项目 1)Gradle插件包含了若干个接口定义和已有的任务项,语法结构:apply plugin:'插件名' ,此处我们定义插件 apply plugin ...
 - 笔记10  在XML中声明切面(1)
			
1.无注解的Audience package XMLconcert; public class Audience { public void silenceCellPhones() { System. ...
 - mooc-python语言语法week3-6
			
week3 1.类型的概念:程序编程不允许有歧义的数据类型存在,所以对数据进行了划分,python语言类型分为,数字类型.字符串类型.元组类型.列表类型.文件类型.字典类型. i:数字类型: pyth ...
 - jquery  数组操作 $.unique()  $.inArray()
			
1.去除重复 $.unique() $.unique() 去掉重复的元素 注意 : 执行unique之前,要先调用sort对数组的内容进行排序. <script src="http:/ ...
 - TRIM ,LTRIM ,RTRIM ,空格过滤
 - web项目部署到阿里云服务器步骤
			
http://www.cnblogs.com/qq3111901846/p/6178855.html http://blog.csdn.net/liona_koukou/article/details ...
 - audioplayer.js插件的使用及小bug
			
之前在项目里用audioplayer.js做的一个页面,改了布局样式,还有插件自身有个bug就是audio添加autoplay属性后有两个音频播放,其中一个无法控制,会一直播放,我查看了官网的demo ...
 - Mysql优化--慢查询日志
			
Mysql 系列文章主页 =============== 默认没有开启慢查询日志功能.如果不是调优需要的话,一般不建议开启. 查看是否开启慢查询日志: SHOW VARIABLES LIKE '%sl ...