SwiftUI ScrollView 滚动视图

news/2024/10/5 13:22:49

代码

//
//  ContentView.swift
//  SwiftUIScrollView
//
//  Created by CHEN Hao on 2024/5/7.
//import SwiftUIstruct ContentView: View {var body: some View {VStack(alignment: .leading) {VStack(alignment: .leading) {Text("monday, aug 20".uppercased()).font(.caption).foregroundStyle(.secondary)Text("Your Reading").font(.system(.largeTitle,design: .rounded)).fontWeight(.black).foregroundStyle(.primary)}.padding()// 滚动试图 .horizontal--横向滚动,.vertical--垂直滚动,默认verticalScrollView(.horizontal, showsIndicators: false) {HStack {Group { // 群组视图 群组内视图设置统一样式CardView(image: "swiftui-button", category: "SwiftUI", heading: "Drawing a Border with Rounded Corners", author: "Simon Ng")CardView(image: "macos-programming", category: "macOS", heading: "Building a Simple Editing App", author: "Gabriel Theodoropoulos")CardView(image: "flutter-app", category: "Flutter", heading: "Building a Complex Layout with Flutter", author: "Lawrence Tan")CardView(image: "natural-language-api", category: "iOS", heading: "What's New in Natural Language API", author: "Sai Kambampati")}.frame(width: 300)}}Spacer()}}
}#Preview {ContentView()
}struct CardView: View {var image: Stringvar category: Stringvar heading: Stringvar author: Stringvar body: some View {VStack{Image(image).resizable().aspectRatio(contentMode: .fit)HStack {VStack(alignment: .leading) {Text(category).font(.headline).foregroundStyle(.secondary)Text(heading).font(.title).fontWeight(.black).foregroundStyle(.primary).lineLimit(3).minimumScaleFactor(0.5) // 自动缩小文字Text(author.uppercased()).font(.caption).foregroundStyle(.secondary)}Spacer()}.padding()}.clipShape(RoundedRectangle(cornerRadius: 10)) // 剪裁成圆角矩形.overlay(RoundedRectangle(cornerRadius: 10).stroke(Color(.sRGB, red: 150/255, green: 150/255, blue: 150/255, opacity: 0.1), lineWidth: 1)) // 描边(就是覆盖一个视图).padding([.top,.horizontal])}
}

效果

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

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

相关文章

wpf字符图标

1、网页使用: font face=webdings size="32">i</font 2、WPF使用: TextBlock Text="1" FontFamily="Wingdings" FontSize="32"></TextBlock

虚拟机安装

学习视频:点这里 学习文字:点这里 下载安装包和密钥文件后得到: 创建虚拟机的安装目录: 安装中需要注意的地方:

Linux系统管理-系统概述

1、Linux系统管理-系统概述一、系统概述 3.系统安装 1.系统安装 1.选择第一项install centos7,并且设置语言,推荐使用中文,简体中文2.字符界面安装选择最小或基本网页服务器即可,接下来就是进行磁盘分区,也可以自己分配或者系统自动分配3.手动分区里面也可以让系统自动创建…

推荐几款AI写作工具:智能在线一键文章创作、代码编写、论文等

在五一节的休假期结束之后,广大员工常常体验到了显著的疲劳,对立即恢复工作状态感到抗拒。虽然这种心态在职场中并不罕见,但工作的责任与需求仍需要我们去面对。 在这种背景下,如何能够既保证工作效率与质量,又能为自己争取到宝贵的调整时间,成为了许多人士所关心的问题。…

09-初始setup-axios-promise

监听属性 需要使用ref和ractive包一下才可以正常监听。 // 使用相关属性需要导入 import { reactive, ref, watch } from "vue";// 监听单个 let name = ref("阿珂") watch(name, (newValue, oldValue) =>{console.log("老名字", oldValue);c…

整理文件IO的有关知识点及笔试题

文件IO 1.FAT32和NTFS的区别 1)FAT32 优点是稳定性和兼容性好,能充分兼容Win 9X及以前版本,且维护方便。 缺点是安全性差,单个文件也只能支持最大4GB。 2)NTFS 优点是安全性及可靠性高,除兼容性之外,它远远优于FAT32。它不但可以支持2TB大小的分区,而且支持对分区、文件夹…

Leetcode --- 203. 移除链表元素

题目描述 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 示例输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 输入:head = [7,7,7,7], val = 7 输出:[]参考实现 方式1、使用递归实现…

MMU(内存管理单元)

内存管理单元(MMU) MMU的概念 MMU是一种硬件设备,也称为内存管理单元,它位于计算机系统的中央处理器(CPU)和内存之间,负责处理中央处理器(CPU)的内存访问请求,将实现对虚拟地址到物理地址的转换(即虚拟内存管理)、内存保护、中央处理器高速缓存的控制,而在较为简单…