NSStatusItem按钮标题右侧的图像

时间:2015-07-06 15:54:37

标签: objective-c xcode macos cocoa nsstatusitem

我希望NSStatusItem的按钮标题显示在其图片的右侧。这是一个例子,这是OS X VPN菜单栏应用程序:

Example

如果我为NSStatusItem按钮设置了标题或图片,则会正确呈现。但是,如果我将设置为,它们会叠加并水平居中对齐。

有没有办法在不创建自定义UIView的情况下实现并排展示?

3 个答案:

答案 0 :(得分:4)

这与Yosemite的变化有关,该变更已在setTitle:上弃用setImage:NSStatusItem。但是,文档对于该做什么并不是非常有用。

我发现您必须在button的{​​{1}}属性上设置标题和图片。这就是我如何获得上述行为,标题和图像相互居中。

解决方案很简单,但不是很明显。 NSStatusBarItem响应NSStatusItem的{​​{1}}方法。这是修复我的问题的代码:

setImagePosition:

完成此操作后,设置NSButton正确定位项目。

答案 1 :(得分:1)

基于http://tinkker.io/swift/2015/11/10/nsstatusitem.html,在Swift中,button.imagePosition = NSCellImagePosition.ImageLeft看起来像

答案 2 :(得分:0)

使用

button.imagePosition = NSControl.ImagePosition.imageLeft