SwiftUI的context Menu

SwiftUI的 context Menu

现在来演示一下如何使用 SwiftUI 的 Context Menu 。
代码:

import SwiftUI

struct ContextMenuBootCamp: View {
    @State var bgColor: Color = .purple
    var body: some View {
        VStack(alignment: .leading, spacing: 10.0) {
            Image(systemName: "house.fill")
                .font(.title)
            Text("Swiftful Thinking")
                .font(.headline)
            Text("how to use context menu".localizedCapitalized)
                .font(.subheadline)
        }
        .foregroundColor(.white)
        .padding(30)
        .background(bgColor)
        .cornerRadius(30)
        .contextMenu(ContextMenu(menuItems: {
            Button(action: {
                bgColor = .red
            }, label: {
                Label("Button #1", systemImage: "flame.fill")
            })
            Button(action: {
                bgColor = .orange
            }, label: {
                Label("Button #2", systemImage: "flame.fill")
            })
            Button(action: {
                bgColor = .green
            }, label: {
                Label("Button #3", systemImage: "flame.fill")
            })
        }))
        
    }
}

#Preview {
    ContextMenuBootCamp()
}

长按组件,效果如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/456896.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【开源】SpringBoot框架开发公司货物订单管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供应商管理模块2.4 订单管理模块 三、系统展示四、核心代码4.1 查询供应商信息4.2 新增商品信息4.3 查询客户信息4.4 新增订单信息4.5 添加跟进子订单 五、免责说明 一、摘要 1.1 项目…

力扣刷题日记——L83. 删除排序链表中的重复元素

1. 前言 今天是力扣刷题打卡的第四天,今天带来一道简单题。一开始做了一道中等难度的题,但是很遗憾,没有解出来,但是为了不耽误今天的打卡计划,所以先选一个简单题做了,回头做出来那道题再和大家分享。话不…

一口吃掉Linux基础操作

一般在windows上面想要操作Linux系统就需要装软件搞一个虚拟机,我用的是Ubuntu22,就是Linux的发行版.安装Ubuntu的过程比较复杂,最重要的一点是安装时要断网,否则会很慢。 Ubuntu 配置指南 — 地震“学”科研入门教程 先介绍一个…

安卓通过termux部署ChatGLM

一、安装Termux并进行相关配置 1、安装termux Termux 是一个 Android 终端仿真应用程序,用于在 Android 手机上搭建一个完整的 Linux 环境。 不需要 root 权限 Termux 就可以正常运行。Termux 基本实现 Linux 下的许多基本操作。可以使用 Termux 安装 python&…

logistic回归分析

结局变量:二分类(常见)或多分类变量研究一个或多个原因变量和结果变量的因果关系 eg:Y必须是分类变量

手写简易操作系统(九)--实现打印函数

前情提要 前面我们已经进入内核程序了,中间穿插了一点特权级的知识,现在我们开始准备一个打印函数 很不幸,还有汇编程序 一、C调用规约 因为涉及到C与汇编的联合编程,我们这里简述一下调用规约,调用规约就是约定参…

【DataWhale学习】用免费GPU线上跑chatGLM项目实践

用免费GPU线上跑chatGLM项目实践 ​ DataWhale组织了一个线上白嫖GPU跑chatGLM与SD的项目活动,我很感兴趣就参加啦。之前就对chatGLM有所耳闻,是去年清华联合发布的开源大语言模型,可以用来打造个人知识库什么的,一直没有尝试。而…

MES管理系统中电子看板都有哪些类型?

随着工业信息化和智能制造的不断发展,MES管理系统已经成为现代制造业不可或缺的重要工具。MES管理系统通过集成和优化生产过程中的各个环节,实现对生产过程的实时监控、调度和管理,提高生产效率和质量。 在生产制造过程中,看板管…

1 redis7概述

Redis7 1 Redis简介 Redis之所以称之为字典服务, 是因为 Redis 是一个 key-value存储系统。 支持存储的 value类型很多, 包括 String(字符串)、List(链表)、Set(集合)、Zset(sorted set --有序集合)和 Hash(哈希类型)等。 Redis…

python INI文件操作与configparser内置库

目录 INI文件 configparser内置库 类与方法 操作实例 导入INI文件 查询所有节的列表 判断某个节是否存在 查询某个节的所有键的列表 判断节下是否存在某个键 增加节点 删除节点 增加节点的键 修改键值 保存修改结果 获取键值 获取节点所有键值 其他读取方式 …

linux下dlib静态库和动态库编译

本文讲述的linux系统下如何编译dlib的静态库和动态库方法。 dlib源码下载地址 dlib官网:dlib C LibraryGitHub - davisking/dlib: A toolkit for making real world machine learning and data analysis applications in C dlib源码的目录结构如下: 编…

【TB作品】MSP430单片机,音乐播放器,四首音乐,八音盒,Proteus仿真

文章目录 题目要求仿真结果实验报告:基于MSP430单片机的八音盒设计实验目的实验设备实验原理总结 代码和仿真图 题目要求 八音盒 本设计利用MSP430单片机结合内部定时器及LED/LCD,设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。 基本要求: 使用LED/LCD显示器…

格子表单GRID-FORM | 必填项检验 BUG 修复实录

格子表单/GRID-FORM已在Github 开源,如能帮到您麻烦给个星🤝 GRID-FORM 系列文章 基于 VUE3 可视化低代码表单设计器嵌套表单与自定义脚本交互文档网站搭建(VitePress)与部署(Github Pages)必填项检验 BUG…

AS-V1000 视频监控平台产品介绍:web客户端功能介绍(上)

目 录 一、引言 1.1 AS-V1000视频监控平台介绍 1.2 平台服务器配置说明 二、软件概述 2.1 软件用途 2.2 登陆界面 2.3 主界面 2.4 视频浏览 三、web端主要功能介绍 3.1 多画面风格 3.1.1风格切换 3.1.2 切换效果 3.2截屏 3.2.1 单画面截屏 3.2.2 …

cesium wall 扩散墙(动态立体墙效果 Primitive 方法)

cesium wall 扩散墙(动态立体墙效果)以下为源码直接复制可用 1、实现思路 1、此效果运用cesium 中 Primitive 方法,通过传入中心点、半径、顶点数、颜色来进行加载。 2、运用 Math 方法 对传进来的中心点、半径、定点数,来计算个顶点经纬度。 3、通过Primitive 方法中upda…

Vue3调用钉钉api,内嵌H5微应用单点登录对接

钉钉内嵌H5微应用单点登录对接 https://open.dingtalk.com/document/isvapp/obtain-the-userid-of-a-user-by-using-the-log-free 前端需要的代码 1、安装 dingtalk-jsapi npm install dingtalk-jsapi2、在所需页面引入 import * as dd from dingtalk-jsapi; // 引入钉钉a…

软件测试覆盖率

软件测试覆盖率简介 1、定义:覆盖率是用来度量测试完整性的一个手段,同时也是测试技术有效性的一个度量。2、计算:覆盖率(至少被执行一次的item数)/item的总数3、特点1)通过覆盖率数据,可以检测…

【框架学习 | 第五篇】SpringMVC(常用注解、获取请求参数、域对象共享数据、拦截器、异常处理、上传/下载文件)

文章目录 1.SpringMVC简介1.1定义1.2主要组件1.3工作流程1.3.1简要流程1.3.2详细流程 1.4优缺点 2.常用注解3.获取请求参数3.1通过 HttpServletRequest 获取请求参数3.2通过控制器方法的形参获取请求参数3.2.1请求路径参数与方法形参一致3.2.2请求路径参数与方法形参不一致3.2.…

3、设计模式之工厂模式1(Factory)

工厂模式是什么?     工厂模式是一种创建者模式,用于封装和管理对象的创建,屏蔽了大量的创建细节,根据抽象程度不同,主要分为简单工厂模式、工厂方法模式以及抽象工厂模式。 简单工厂模式 看一个具体的需求 看一个…

【划重点】自动引流软件隐藏风险!?你不知道的网络危机与应对策略

先来看成果,评论888领取 在互联网快速发展的今天,自动引流软件以其高效的推广方式和便捷的操作,成为许多商家和个人提升网络知名度的重要工具。然而,这种看似无害的软件,却潜藏着不容忽视的网络安全风险。本文将深入解…