以下属性可用于为基于文本的视图(如 Text 或 Label)设置样式和格式,其功能与 SwiftUI 的内建修饰符类似。通过自定义这些属性,您可以控制文本的字体、字重、设计、间距及其他排版特性。
这些属性通常作为属性传递给与文本相关的组件,如 Text 或 Label。例如,您可以设置字体大小、启用加粗格式,或添加自定义颜色的下划线——无需手动调用多个修饰符。
在上面的示例中,文本使用了自定义字体、半粗体、斜体风格、红色下划线,限制为两行,并居中对齐。
font定义文本的字体和大小。
14)时,将应用该大小的系统字体。Font 类型):使用内建的文本样式之一(如 "largeTitle"、"title"、"headline"、"subheadline"、"body"、"callout"、"footnote"、"caption")。系统会根据样式决定大小和字重。name 和 size 来应用自定义字体。fontWeight设置字体的粗细程度。可选值包括从 "ultraLight" 到 "black"。
fontWidth指定字体的宽度变体(如果可用)。可选值有 "compressed"、"condensed"、"expanded" 和 "standard",也可以使用数字(如果支持)。
fontDesign修改字体设计风格。可选值包括 "default"、"monospaced"、"rounded"、"serif"。
minScaleFactor一个介于 0 到 1 之间的数字,表示当文本超出空间限制时最多可以缩小到原始大小的多少。例如,0.5 表示文本可以缩小到 50%。
bold如果为 true,应用加粗字体。
baselineOffset调整文本相对于基线的垂直位置。正值向上移动,负值向下移动。
kerning控制字符间距。正值增加间距,负值减小间距。
italic如果为 true,应用斜体样式。
monospaced强制所有子文本使用等宽字体(如果可用)。
monospacedDigit使用固定宽度数字,而其他字符保持原样。适用于表格或计时器中的数字对齐。
strikethrough应用删除线(贯穿文本)。可以提供颜色,或一个包含样式和颜色的对象。
strikethrough="red"strikethrough={{ pattern: 'dash', color: 'blue' }}underline以下划线方式装饰文本,使用方式与 strikethrough 类似。
underline="blue"underline={{ pattern: 'dashDot', color: 'green' }}lineLimit指定文本最多显示的行数。可以:
{ min?: number; max: number; reservesSpace?: boolean },来指定最小和最大行数,并选择是否预留最大行数空间以避免布局跳动。lineSpacing设置行间距,单位为像素。
multilineTextAlignment设置多行文本的对齐方式:"leading"(左对齐)、"center"(居中)或 "trailing"(右对齐)。
truncationMode指定文本太长时的截断方式。
定义截断的位置:
"head":截断行首,保留末尾。"middle":截断中间,保留首尾。"tail":截断尾部,保留开头。allowsTightening?: boolean是否允许系统在必要时压缩字符间距以适应一行内显示。
boolean
false
设置为 true 时,系统可以压缩字距以避免截断,并改善在受限空间下的布局适应性。
通过组合这些属性,您可以完全掌控文本视图的排版,而无需多个包装组件或修饰符。无论您需要加粗、斜体、带自定义字符间距和下划线的标题,还是仅限两行显示的正文文本,这些选项都能满足广泛的文本样式需求。