swift - 在 NSView 中绘制 2 个图像
问题描述
我正在尝试创建一个自定义 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 设置框架。
如果让 button2 = statusItem2.button {
let statusBarView = statusBarView()
statusBarView.frame = button2.frame
button2.addSubview(statusBarView)
}
在视图的框架中绘制而不是在dirtyRect中
myimage!.draw(in: self.frame)
希望这可以帮助
推荐阅读
- visual-studio-code - VSCode 扩展自定义视图设置
- wordpress - 如何从使用作曲家自动加载的自定义插件中使用 woocommerce 类
- reactjs - 尝试将 Storybook 与 react-admin 一起使用时出错“useField 必须在
- excel - 需要在此处修复移动平均线的公式
- javascript - 如何在表单数据中附加 Vue 编辑器值 - 已修复
- r - 根据开始日期创建重叠日期向量
- python - 将字符放入字符串的所有组合
- c++ - 使用 boost::get 的失败值
- javascript - 使用 Vanilla JavaScript 将父类别文本和 URL 保存到变量中
- user-interface - 希望在用户按下按钮(JavaFx 按钮)之前不执行代码