C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了objective-c – 使用属性字符串突出显示NSStatusItem大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_1@我有一个NSStatusItem,我使用了一个属性字符串,设置是这样的
[statusItem setAttributedtitle:as];

在哪里作为我的归因字符串.我通过对它们进行不同的着色来使用它来突出显示项目的某些部分.因此,我的状态项可以包含一些红色文本和一些黑色文本.

现在的问题是,当我使用setAttributedtitle然后点击状态项时,颜色不会像我希望的那样反转.例如,当我只使用settitle时,未选中时文本为黑色,选中时文本更改为白色.现在它只保留我设置的颜色.

有没有办法告诉它在选择时反转颜色?如果没有,我怎么能实现这个目标?对不起,我是Objective-C的初学者.

解决方法

看起来这样做的唯一方法是:

>不要使用setMenu为statusItem设置菜单
>相反,使用setAction :,更改字符串的颜色,显示菜单,然后更改颜色

例如,使用以下内容

[statusItem setAction:@SELEctor(statusItemClicked)];

并实现statusItemClicked方法,如下所示:

- (void) statusItemClicked {

  // change color of attributed String to its highlighted state here

  [statusItem popUpStatusItemMenu:statusItemMenu]; // show the menu
                                                   // which used to be set
                                                   // using setMenu:

  // change color of attributed String BACk its non-highlighted state here
}

大佬总结

以上是大佬教程为你收集整理的objective-c – 使用属性字符串突出显示NSStatusItem全部内容,希望文章能够帮你解决objective-c – 使用属性字符串突出显示NSStatusItem所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。