在 NSView 中绘制 2 个图像

Draw 2 Images in NSView

我正在尝试创建自定义 NSView,以便将该视图应用到我的 NSStatusBarButton。我想在视图中有 2 个并排的小图像,但我不知道如何创建一个自定义视图来实现这一点。我试图简单地将一张图片添加到视图中,但它没有显示在状态栏按钮中:

import Cocoa

class statusBarView: NSView {

override func draw(_ dirtyRect: NSRect) {
    super.draw(dirtyRect)
    let myimage = NSImage(named:NSImage.Name("StatusBarButtonImage"))
    myimage!.draw(in: dirtyRect)
    }
}

[...]

if let button2 = statusItem2.button {
        button2.addSubview(statusBarView())
    }

有人可以帮我吗?

有两件事我会改变。

  • 设置 statusBarView 的框架。

如果让 button2 = statusItem2.button {

    let statusBarView = statusBarView()
    statusBarView.frame = button2.frame
    button2.addSubview(statusBarView)

}

  • 在不在 dirtyRect 中的视图框架中绘制

    myimage!.draw(in: self.frame)

希望这对您有所帮助