SwiftU的组件 - TabView

news2025/1/13 10:52:48

SwiftU的组件 - TabView

记录一下SwiftU的组件 - TabView的两种style分别的使用方式


import SwiftUI

struct TabViewBootCamp: View {
    @State var selectedIndex = 0
    var body: some View {
       
        NavigationView {
            TabView(selection: $selectedIndex) {
                HomeView(selectedIndex: $selectedIndex)
                Text("Browse".uppercased())
                    .tabItem {
                            Image(systemName: "globe")
                        Text("Browse")
                    }
                    .tag(1)
                Text("Profile".uppercased())
                    .tabItem {
                            Image(systemName: "person.fill")
                        Text("Profile")
                    }
                    .tag(2)
            }
            .navigationTitle("TabViewBootCamp")
            .navigationBarTitleDisplayMode(.inline)
        }
    }
}

#Preview {
    TabViewBootCamp()
}

struct HomeView: View {
    @Binding var selectedIndex: Int
    let icons = ["heart.fill", "globe", "house.fill", "person.fill"]
    var body: some View {
        VStack{
            Button("jump to Brower") {
                selectedIndex = 1
            }
            /// 利用tabbarView制作一个滑块
            TabView {
                ForEach(icons, id: \.self) { icon in
                    Image(systemName: icon)
                        .resizable()
                        .scaledToFit()
                }
                
            }
            .frame(height: 300)
            .tabViewStyle(PageTabViewStyle())
            .background(
                RadialGradient(colors: [.red, .blue], center: .center, startRadius: 50, endRadius: 300)
            )
        }
        .tabItem {
            Image(systemName: "house.fill")
            Text("Home")
        }
        .tag(0)
    }
}

第一种是底部导航栏 , 第二种是制作一个滑块控件对精度要求不高的情况下 非常方便
请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【解读】Synopsys发布2024年开源安全和风险分析报告OSSRA

软件供应链管理中,许可证和安全合规性至关重要。开源组件和库可降低风险,但需了解许可证内容。Synopsys 2023年审计发现,超过一半的代码库存在许可证冲突。MIT许可证是最常用的宽松许可证,但也与其他许可证存在不兼容风险。点此获…

重学SpringBoot3-Problemdetails

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-Problemdetails Problem Details的概念ProblemDetails配置类在Spring Boot 3中使用Problem Details未配置Problem Details配置Problem Details自定义异常…

外包就干了2个月,技术退步明显....

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

程序员必备开发工具、程序员必备集成开发环境(IDE)

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

鸿蒙Next学习-Flex布局

Entry Component struct FlexCase {build() {//需要在构造参数上传Flex({ direction: FlexDirection.Row,justifyContent:FlexAlign.Center }) {//flex布局Row().width(100).height(100).backgroundColor(Color.Red)Row().width(100).height(100).backgroundColor(Color.Yellow…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:NavRouter)

导航组件,默认提供点击响应处理,不需要开发者自定义点击事件逻辑。 说明: 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 必须包含两个子组件,其中第二个子组…

HTML基础:超链接的其他 4 种形式

你好,我是云桃桃。上次,我们聊了 HTML href 属性的网页链接,锚点链接,这次我们聊聊 href 其他 4 种常见链接。 1、电子邮件链接(mailto): 通过 mailto: 创建一个链接,点击链接会自…

使用阿里云服务器查看网站备案的方法和注意事项

随着互联网的发展,网站注册已成为在中国建设网站的必要步骤。 在使用阿里云服务器时,我们可以通过以下步骤查看网站注册状态。 备案概述: 在中国,互联网信息服务提供者必须进行登记,以监管互联网内容、规范市场运营和…

Java 输入方法 数组

目录 一、输入方法1.常用方法2.Scanner的使用3.BufferedReader的使用 二、数组1.数组的定义静态初始化数组动态初始化数组多维数组 2.数组赋值机制3.数组拷贝使用循环逐元素拷贝使用 System.arraycopy() 方法使用 Arrays.copyOf() 方法 4.数组排序5.数组合并6.数组翻转7.基于范…

Kotlin编程权威指南学习知识点预览

一、变量、常量和类型: 变量、常量以及 Kotlin 基本数据类型。变量和常量在 应用程序中可用来储值和传递数据。类型则用来描述常量或变量中保存的是什么样的数据。 1、声明变量: // 变量定义关键字 —— 变量名 —— 类型定义 —— 赋值运算符 —— 赋值var na…

【Kafka面试演练】那Kafka消费者手动提交、自动提交有什么区别?

面试官:听说你精通Kafka,那我就考考你吧 面试官:不用慌尽管说,错了也没关系😊。。。 每日分享【大厂面试演练】,本期是《Kafka系列》,感兴趣就关注我吧❤️ 面试官:你先说说Kafka由什…

cuda cudnn安装

安装 cudnn是否安装成功 注意 cudnn对应的cuda的10.0版本无win11版本 下载win10 即可

linux系统关闭防火墙和SELINUX及配置网络

一,关闭防火墙和SELINUX 当我们进入界面后,输入用户名root,以及密码,密码我们是看不见的 然后输入指令cat -n /etc/sysconfig/selinux (注意空格) 输入指令 vi /etc/sysconfig/selinux &#xf…

杂七杂八111

MQ 用处 一、异步。可提高性能和吞吐量 二、解耦 三、削峰 四、可靠。常用消息队列可以保证消息不丢失、不重复消费、消息顺序、消息幂等 选型 一Kafak:吞吐量最大,性能最好,集群高可用。缺点:会丢数据,功能较单一。 二Ra…

第十五届蓝桥杯模拟考试III_物联网设计与开发官方代码分析

目录 前言:显示界面部分: 前言: 这次模拟的效果很不好。85分,4h的限时我花了两天完成,这个时间是远远超出要求的,而且最后还只拿到56分,抛开分数高低不提,就这个用时属实蜗牛一样的速…

2024年【危险化学品经营单位安全管理人员】考试及危险化学品经营单位安全管理人员考试题

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员考试根据新危险化学品经营单位安全管理人员考试大纲要求,安全生产模拟考试一点通将危险化学品经营单位安全管理人员模拟考试试题进行汇编,组成一套危险化学品经…

安装nginx

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾…

2024/3/14打卡k倍区间(8届蓝桥杯)——前缀和+优化***

题目 给定一个长度为 N 的数列,A1,A2,…AN,如果其中一段连续的子序列 Ai,Ai1,…Aj 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。 你能求出数列中总共有多少个 K 倍区间吗? 输入格式 第一行包含两个整数 N 和 K。 以下 N…

DeePhage:预测噬菌体的生活方式

GitHub - shufangwu/DeePhage: A tool for distinguish temperate phage-derived and virulent phage-derived sequence in metavirome data using deep learning 安装 conda create -n deephage conda activate deephage pip install numpy pip install h5py pip install ten…

淘宝联盟高级API - 超级搜索api接口, 淘宝联盟商品搜索接口

淘宝联盟商品库超级搜索api接口,支持搜索商品链接、商品id,商品标题搜索,还有更多强大搜索选项。 注意:接口默认只查【含有优惠券】的商品,如果需要精确搜索,请将 has_coupon 参数设置为 false 获取接口秘…