可可 – 如何将动画图标添加到OS X状态栏?

可可 – 如何将动画图标添加到OS X状态栏?,第1张

概述我想在Mac OS状态栏中放置一个图标,作为可可应用程序的一部分。我现在做的是: NSStatusBar *bar = [NSStatusBar systemStatusBar];sbItem = [bar statusItemWithLength:NSVariableStatusItemLength];[sbItem retain];[sbItem setImage:[NSImage 我想在Mac OS状态栏中放置一个图标,作为可可应用程序的一部分。我现在做的是:

Nsstatusbar *bar = [Nsstatusbar systemStatusbar];sbItem = [bar statusItemWithLength:NSVariableStatusItemLength];[sbItem retain];[sbItem setimage:[NSImage imagenamed:@"Taski_bar_icon.png"]];[sbItem setHighlightmode:YES];[sbItem setAction:@selector(stopStart)];

但如果我想要图标动画(3-4帧),我该怎么办?

解决方法 您需要重复调​​用-setimage:在您的NsstatusItem上,每次传递不同的图像。最简单的方法是使用NSTimer和实例变量来存储动画的当前帧。

这样的事情

/*assume these instance variables are defined:NSInteger currentFrame;NSTimer* animTimer;*/- (voID)startAnimating{    currentFrame = 0;    animTimer = [NSTimer scheduledTimerWithTimeInterval:1.0/30.0 target:self selector:@selector(updateImage:) userInfo:nil repeats:YES];}- (voID)stopAnimating{    [animTimer invalIDate];}- (voID)updateImage:(NSTimer*)timer{    //get the image for the current frame    NSImage* image = [NSImage imagenamed:[Nsstring stringWithFormat:@"image%d",currentFrame]];    [statusbarItem setimage:image];    currentFrame++;    if (currentFrame % 4 == 0) {        currentFrame = 0;    }}
总结

以上是内存溢出为你收集整理的可可 – 如何将动画图标添加到OS X状态栏?全部内容,希望文章能够帮你解决可可 – 如何将动画图标添加到OS X状态栏?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1035542.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存