当前位置: 首页 > news >正文

(2)SwiftUI 样式修饰符:字体、颜色、内边距与背景

📘 SwiftUI 基础(第二篇)

🎨 样式修饰符:字体、颜色、内边距与背景

在 SwiftUI 中,你可以通过**修饰符(Modifier)**来为组件添加样式。
修饰符就是在视图后面用点语法 .xxx() 链式调用的函数,比如:

Text("Hello, SwiftUI!").font(.title).foregroundColor(.blue)

每个修饰符返回一个新的视图,所以你可以像“叠积木”一样不断叠加它们来形成复杂样式。


一、.font() —— 控制字体样式与大小

📍常用写法:

Text("学习 SwiftUI!").font(.largeTitle)       // 系统内置字号:largeTitle, title, body, caption...

📍自定义字体大小:

Text("自定义字号 24").font(.system(size: 24))

📍搭配字体粗细、样式:

Text("加粗 + 斜体").font(.system(size: 20, weight: .bold, design: .rounded))

💡 .font() 通常放在文字组件上,但某些复合组件(比如 ButtonLabel)内部的 Text 也能继承它。


二、.foregroundColor() —— 控制前景色(通常是文字颜色)

Text("绿色文字").foregroundColor(.green)

也可以用颜色常量或自定义颜色:

Text("自定义颜色").foregroundColor(Color(red: 0.9, green: 0.4, blue: 0.2))

📘 前景色不仅影响文字,还能影响系统图标(Image(systemName:))的颜色:

Image(systemName: "heart.fill").foregroundColor(.red)

三、.padding() —— 添加内边距(内容与边界之间的空隙)

📍基础写法:

Text("带内边距的文字").padding()

默认在四周增加 16 点的空白。

📍指定方向的 padding:

Text("上下多一点空隙").padding(.vertical, 30)

支持 .horizontal.vertical.top.bottom.leading.trailing

📍多个修饰符叠加效果:

Text("有颜色、有边距").foregroundColor(.white).padding().background(Color.blue)

⚠️ 注意顺序!
.padding().background() 前后位置不同,效果完全不一样。


四、.background() —— 背景色或背景视图

📍设置背景颜色:

Text("蓝色背景").padding().background(Color.blue)

📍背景也可以是图片或其他组件:

Text("文字叠在图片上").padding().background(Image("swift-logo").resizable().scaledToFit())

📍组合形状与背景:

Text("圆角背景").padding().background(Color.orange).cornerRadius(10)

五、组合示例 🌈

以下例子演示如何用修饰符组合出一张「信息卡片」:

import SwiftUIstruct ContentView: View {var body: some View {VStack(spacing: 20) {Text("SwiftUI 学习卡片").font(.title).fontWeight(.bold).foregroundColor(.white).padding().frame(maxWidth: .infinity).background(Color.blue).cornerRadius(12)Text("掌握 SwiftUI 修饰符,让你的界面更有设计感!").font(.body).foregroundColor(.gray).padding(.horizontal, 24)Button(action: {}) {Text("开始学习 🚀").font(.headline).foregroundColor(.white).padding().background(Color.green).cornerRadius(10)}}.padding().background(Color(.systemGray6)).cornerRadius(20).shadow(radius: 8)}
}#Preview {ContentView()
}

运行后你会看到一个清新简洁的卡片界面,展示了 .font().foregroundColor().padding().background() 的典型组合。


在这里插入图片描述

六、小结 📚

修饰符功能示例
.font()控制字体大小、样式.font(.title)
.foregroundColor()控制文字或图标颜色.foregroundColor(.red)
.padding()添加内边距.padding(.horizontal, 20)
.background()设置背景色或背景视图.background(Color.blue)
.cornerRadius()圆角(常与背景搭配).cornerRadius(10)
http://www.dtcms.com/a/457902.html

相关文章:

  • 外贸网站建设需要什么网站后期维护工作包括哪些
  • 中建南方建设集团官方网站站长之家查询
  • 点击助手 1.17.9| 支持免root录制各种点击脚本,支持刷视频红包,抢票等
  • 设计师图库网站涪陵网站设计
  • 稀疏默克尔树实现
  • jsp基于JavaWeb的原色蛋糕商城的设计与实现(代码+数据库+LW)
  • 松原市住房和城乡建设厅网站wordpress 抓取微信
  • 深入洞察:V模型架构实现业务到IT的服务化设计
  • 从“国庆景区人山人海”看大数据处理中的“数据倾斜”难题
  • 免费自建 响应式 网站作图网站
  • 2025-10-08 Python 标准库 7——内置类型:二进制序列
  • 餐饮业建设网站意义音乐网站的设计
  • ip对网站作用网站开发后台做些什么
  • numpy -- 算术函数 reciprocal() 和 power() 简介
  • 面向中小型制造企业的SaaS版MES解决方案
  • 华为网站建设南通门户网站建设方案
  • Docker安装部署本地对象存储Minio和使用指南
  • 怎么看网站是什么程序营销网站开发选哪家
  • Spring Boot综合项目实战 - 西蒙购物网
  • 西安房产网站大全注册网址在哪里注册
  • 营口网站建设wordpress 添加付款
  • 深度学习和机器学习的区别,联邦学习和隐私计算的区别
  • 98.验证二叉搜索树(二叉树算法题)
  • linux信号(2)——从“暂停咖啡机”看SIGINT:用户与程序的“紧急停止按钮”
  • asp网站安全南京移动网站建设
  • leetcode hot100 中等难度 day05-刷题
  • 企业网站每年的费用wordpress目录魔板
  • 做一个小公司网站多少钱网站备案归属地
  • Access调用Azure翻译:轻松实现系统多语言切换
  • R语言从入门到精通Day5之【数据输入】