#2 Adding Text in SwiftUI

示例

swift 复制代码
struct TextBootcampView: View {
    var body: some View {
        Text("Hello, World!".capitalized)   // 格式化字符串
            .multilineTextAlignment(.leading)
            .foregroundColor(.red)
            .frame(width: 200, height: 100, alignment: .leading)
            .minimumScaleFactor(0.1)        // 极限压缩
    }
}

修饰符行为

修饰符 作用 备注 / 坑
.capitalized 先「单词首字母大写」再显示 这是 String 的 Foundation 方法,不是 Text 的修饰符;对中文无效果
.font(.body) 系统动态字体「正文」级别 会随用户「设置-显示与文字大小」变化,无障碍友好
.fontWeight(.semibold) / .bold() 字重 两者可叠加,后写的覆盖前面的
.underline(true, color: .red) 下划线 + 自定义颜色 传 false 可取消;颜色缺省用 foregroundColor
.italic() 斜体 只对支持斜体的字体有效;中文一般无斜体轮廓
.strikethrough(true, color: .green) 删除线 与 underline 可同时存在
.font(.system(size:24, weight:.semibold, design:.default)) 完全自定义字体 不会响应动态类型 ,除非自己再包 UIFontMetrics;苹果官方推荐优先用 Font 语义化 API
.baselineOffset(50) 基线偏移 正值上移,负值下移;可做「上标/下标」效果,但别用于整行,会炸行高
.kerning(1) 字符间距 对中文同样生效;负值会让字贴得更紧
.multilineTextAlignment(.leading) 多行文字水平对齐 只在「宽度被限制且文字折行」时生效
.foregroundColor(.red) 文字颜色 iOS 17 起新增 foregroundStyle 支持渐变/材质,旧项目注意版本
.frame(width:200, height:100, alignment:.leading) 给 Text 套固定尺寸 Text 默认是「尺寸自适应」;一旦加 frame,多余文字会被截断 除非搭配 minimumScaleFactor
.minimumScaleFactor(0.1) 超长时等比缩小 范围 0.01--1.0;与 lineLimit(nil) 配合可实现「先缩再放」效果
相关推荐
Marco_Marco1351 小时前
定位SDK接入实战:Android/iOS/鸿蒙三端怎么选、怎么接
android·ios·harmonyos
老李IT笔记16 小时前
关掉设备上的 AI 扩展:两个键各管一层,配错了等于没配
人工智能·ios·智能手机
2501_9159214316 小时前
iOS应用耗电测试:使用Energy Log、Keymob和Instruments进行性能监控与能源消耗分析
android·ios·小程序·https·uni-app·iphone·webview
黑化旺仔18 小时前
RunLoop 源码探索
ios·cocoa·xcode
茶底世界之下1 天前
叶片纹理要多硬?用 Awaking 只加一点清晰度
ios
2501_915106321 天前
KXApp 的 VS Code 真机调试:按下 Cmd+R 之后发生了什么
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
ii_best1 天前
安卓手机开发、iOS 手机开发都能用:按键精灵远程调试,设备在千里外也能改脚本
android·ios·智能手机·自动化·按键精灵
开心猴爷2 天前
应对iOS审核4.3:可以使用 IpaGuard 来给属性名混淆的技术细节与平衡之道
后端·ios
iOS开发上架哦2 天前
iOS应用耗电测试:使用Energy Log、Keymob和Instruments进行性能监控与能源消耗分析
后端·ios
_瑞2 天前
APM_KSCrash 原理
ios