我正在尝试创建一个自定义NSView,以便可以将该视图应用于我的NSStatusBarButton。我想在视图中有两个彼此相邻的小图像,但我不知道如何创建这样的自定义视图。我只想在视图中添加一张图片,但它不会显示在状态栏按钮中:

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的框架。
如果let button2=statusItem2.button{

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

}
在视图的框架中而不是在dirtyRect中绘制
我的形象!.绘制(in:self.frame)
希望这有帮助

关于swift - 在NSView中绘制2张图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50547562/

10-12 04:39