我想在点击时设置NSStatusItem
的禁用突出显示模式。在OS X 10.10及更高版本中,highlightedMode
属性已被弃用,Apple建议使用button
属性。那么,相当于setHighlightedMode:
的是什么? Swift或Objective-C没问题。
提前致谢。
答案 0 :(得分:0)
获取按钮的单元格,转换为NSButtonCell*
,并将其highlightsBy
属性设置为0.当然,这涉及单元格,这些单元格也逐渐被弃用。
在内部,-[NSStatusItem setHighlightMode:]
调用-[NSStatusBarButton setHighlightMode:]
,调用-[NSStatusBarButtonCell setHighlightMode:]
。最后一次调用-setHighlightsBy:
自身为0或NSContentsCellMask | NSChangeBackgroundCellMask
,具体取决于模式。遗憾的是,-[NSStatusBarButton setHighlightMode:]
和NSStatusBarButtonCell
都不是公共API,因此您可以做的最好的就是模仿它们。
总而言之,最好继续使用-[NSStatusItem setHighlightMode:]
并向Apple提交错误报告,要求采用不推荐的方法。