我有一个 NSStatusItem,我为其使用属性字符串,设置如下:
[statusItem setAttributedTitle:as];
where as
是我的属性字符串。当满足某些条件时,我用它通过不同的颜色来突出显示项目的某些部分。例如,我的状态项可以有一些红色文本和一些黑色文本。
现在的问题是,当我使用setAttributedTitle
然后单击状态项,颜色不会按照我想要的那样反转。例如,当我只使用setTitle
,未选择时文本为黑色,选择后变为白色。现在它只保留我设置的颜色。
有没有办法告诉它在选择时反转颜色?如果没有,我怎样才能实现这一目标?抱歉,我是 Objective-C 的初学者。
看起来执行此操作的唯一方法是:
例如,使用类似:
[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
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)