SwiftUI ScrollView 滚动视图
代码#
//
// ContentView.swift
// SwiftUIScrollView
//
// Created by CHEN Hao on 2024/5/7.
//
import SwiftUI
struct 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--垂直滚动,默认vertical
ScrollView(.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: String
var category: String
var heading: String
var author: String
var 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])
}
}
效果#
分类:
SwiftUI
Buy me a cup of coffee ☕.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?