【问题标题】:NSStatusItem Button Title to the Right of the Image图片右侧的 NSStatusItem 按钮标题
【发布时间】:2015-09-23 20:43:14
【问题描述】:

我希望NSStatusItem 按钮的标题出现在其图像的右侧。这是一个示例,这是 OS X VPN 菜单栏应用:

如果我为 NSStatusItem 的按钮设置标题或图像,它们会正确呈现。但是,如果我设置 both,它们会重叠并水平居中对齐。

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

【问题讨论】:

    标签: objective-c xcode macos cocoa nsstatusitem


    【解决方案1】:

    使用

    button.imagePosition = NSControl.ImagePosition.imageLeft
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        这与 Yosemite 的变化有关,在 NSStatusItem 上弃用了 setTitle:setImage:。然而,该文档对于如何做并不是很有帮助。

        我发现您必须在NSStatusItembutton 属性上设置标题和图像。这就是我得到上述行为的方式,标题和图像彼此居中。

        解决方案很简单,但不是很明显。 NSStatusBarItem 响应NSButtonsetImagePosition: 方法。这是解决我的问题的代码:

        self.statusItem.button.image = [NSImage imageNamed:@"StatusBarIcon"];
        self.statusItem.button.imagePosition = NSImageLeft;
        

        完成此操作后,设置 self.statusItem.button.title 可以正确定位项目。

        【讨论】:

        • 您知道这是否最近发生了变化或很快发生了变化?我有同样的问题,但是当我尝试self.statusItem.button.imagePosition = NSImageLeft 时,我得到'使用未解析的标识符'NSImageLeft''
        • 我还尝试了NSCellImagePosition 列出的值,但developer.apple.com/library/mac/documentation/Cocoa/Reference/… 也没有骰子
        • 在下面弄明白了
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-11-04
        • 1970-01-01
        • 2018-11-20
        • 2022-11-30
        • 1970-01-01
        • 2017-01-25
        相关资源
        最近更新 更多