按钮或图像上的SWIFT UI MacOS弹出窗口

news/2024/11/17 23:41:00/

我希望我能做图片中看到的事情。

我正在尝试使用这段代码,但我不太了解怎么修复它。

我希望我可以在Button或ImageMac上使用它,该ImageMac应该是图像。

有人能帮我吗?

编码:

func showLittlePopoverWithMessage(sender: NSView, message: String) {let controller = NSViewController()controller.view = NSView(frame: CGRect(x: CGFloat(100), y: CGFloat(50), width: CGFloat(100), height: CGFloat(50)))let popover = NSPopover()popover.contentViewController = controllerpopover.contentSize = controller.view.frame.sizepopover.behavior = .transientpopover.animates = truelet invisibleWindow = NSWindow(contentRect: NSMakeRect(0, 0, 20, 5), styleMask: .borderless, backing: .buffered, defer: false)invisibleWindow.backgroundColor = .redinvisibleWindow.alphaValue = 0//controller.view.addSubview(sender)popover.show(relativeTo: sender.bounds, of: sender as! NSView, preferredEdge: .maxY)}#if os(macOS)struct ImageMac: View {let symbol: Stringinit(systemName: String) {self.symbol = ["star":"☆","star.fill": "★","heart":  "?","heart.fill":"?","video":  "?","lock.fill": "?","lock.open.fill": "?","checkmark.seal.fill": "?"][systemName] ?? "?"}var body: some View { Text(symbol) }}#endifImageMac(systemName: "checkmark.seal.fill").foregroundColor(.blue)Button(action: {}) {Text("Button")}

推荐答案

以下是可能的方法演示。编写并使用Xcode 11.7/MacOS 10.15.6进行了测试

struct ContentView: View {@State var isPopover = falsevar body: some View {VStack {Button(action: { self.isPopover.toggle() }) {Image(nsImage: NSImage(named: NSImage.infoName) ?? NSImage())}.popover(isPresented: self.$isPopover, arrowEdge: .bottom) {PopoverView()}.buttonStyle(PlainButtonStyle())}.frame(width: 800, height: 600)}}struct PopoverView: View {var body: some View {VStack {Text("Some text here ").padding()Button("Resume") {}}.padding()}}

好了关于按钮或图像上的SWIFT UI MacOS弹出窗口的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。


http://www.ppmy.cn/news/313465.html

相关文章

模拟电路--单电源差分运算放大电路方案

单电源差分运算放大电路 问题描述实现方案 问题描述 最近要用压电陶瓷做一个有趣的东西,但是压电陶瓷的电压信号有点小,百毫伏级的,所以需要对其进行差分放大。大概浏览了一下主流的差分运算放大电路,基本上都是双电源方案&#…

unity做陶艺(动态改变模型网格)

年后辞职到一家VR开发公司,经理提出要做一个陶艺类课件,类似《一起做陶艺》。当时我就一脸蒙蔽,这怎么做,没有 思路时就先想思路 嗯 这是我的一大优点~ 思路1:把模型横切成若等干份,动态操作每一份的…

4键电子手表说明书_电子手表怎么调(电子手表的四个键的功能各是什么)

展开全部 四个功能键分别是:左上角按键e68a84e8a2ad62616964757a686964616f31333433643062LIGHT,右上角按键ST/SP,左下角按键MODE,右下角按键RESET,具体操作步骤如下: 1、首先,在初始界面中,显示为时间LIGHT,按一次MODE进入秒表,如下图所示,然后进入下一步。 2、其次…

为陶崇园争取正义懒人包1.0

https://media.weibo.cn/article?id2309404228422728593619 此篇文章属于我个人行为,和参与联名的校友无关。 此篇文章属于我个人行为,和参与联名的校友无关。 此篇文章属于我个人行为,和参与联名的校友无关。 昨晚校内匿名信源告诉我涉…

开关电源EMI设计(原理讲解及实战分析)

反激式开关电源EMI设计 EMI滤波器的作用是双方向性的,既能有效阻止外界的电磁干扰经电源线进入设备,又能阻挡设备自身工作中产生的电磁骚扰经电源线进入电网,传送到其他敏感设备。所以它是抗干扰和干扰抑制中都用得到的一种器件。 图中&…

电设——开关电源——LM2596

LM2596是一款比较老的开关电源芯片了,但是架不住比较好用啊,它的电源效率并不算高,但在一般新手级玩家手中差不多能达到75%的电源效率,在此我说说我的理解。 它的外围电路定义的非常简单,5个引脚,采用TO-2…

DC-DC开关电源

开关电源简介 直观上说,开关电源通过开关管将输入能量截成一个一个的能量包,然后将这些能量包传送到输 出端,在输出端又将这些离散的能量包汇集,为负载连续供电。  电路结构:降压(buck),升压(boost)&…

洋桃电子STM32物联网入门30步笔记三、CubeMX图形化编程、设置开发板上的IO口

此文档作为对杨桃电子视频的整理,B站链接:第四集 一、开启RCC的外部时钟、包括外部高速时钟HSE和外部低速时钟LSE 时钟配置三个选项的含义: 选择禁用的话就只能使用内部时钟 旁路时钟源一般是有源晶振 晶体与陶瓷振荡器一般是无源晶振 二、…