Text (SwiftUI 中文手册教程)

基础知识

Text 是什么

显示一行或多行只读文本的视图。

@frozen struct Text

Text基础使用

设置字体

文本视图使用body适合当前平台的字体在应用程序的用户界面中绘制字符串。您可以使用view修饰符选择其他标准字体,例如title或。

Text("Hamlet")
    .font(.title)

Text (SwiftUI 中文手册教程)_第1张图片


设置样式字体大小、粗体、斜体

如果需要更好地控制文本的样式,则可以使用相同的修饰符来配置系统字体或选择自定义字体。您也可以应用bold()或的视图修饰符,italic()以进一步调整格式。

Text("by William Shakespeare")
    .font(.system(size: 12, weight: .light, design: .serif))
    .italic()

Text (SwiftUI 中文手册教程)_第2张图片


设置宽度

文本视图始终完全使用显示其呈现的内容所需的空间量,但是您可能会影响视图的布局。例如,您可以使用修饰符为视图建议特定的尺寸。如果视图接受建议,但文本不适合可用空间,则视图将自动换行,拉紧,缩放和截断结合使用以使其适合。由于点的宽度但高度没有限制,因此文本视图可能会包裹一个长字符串:

Text("To be, or not to be, that is the question:")
    .frame(width: 100)

Text (SwiftUI 中文手册教程)_第3张图片


设置行数

可以设置文本行数,超过的部门将被截断

Text("Brevity is the soul of wit.")
    .frame(width: 100)
    .lineLimit(1)

本地化字符串

如果使用字符串文字初始化文本视图,则该视图将使用初始化程序,该初始化程序将字符串解释为本地化键,并在您指定的表或默认表(如果未指定)中搜索该键。

Text("pencil") // Searches the default table in the main bundle.

对于以英语和西班牙语进行本地化的应用程序,以上视图分别为英语和西班牙语用户显示“ pencil”和“lápiz”。如果视图无法执行本地化,则显示键。例如,如果同一个应用程序缺少丹麦语本地化,则该视图将为该语言环境中的用户显示“铅笔”。同样,缺少任何本地化信息的应用程序会在任何语言环境中显示“铅笔”。

若要显式绕过字符串文字的本地化,请使用init(verbatim:)初始化程序。

Text(verbatim: "pencil") // Displays the string "pencil" in any locale.

如果使用变量值初始化文本视图,则该视图将使用init(:)初始化程序,该初始化程序不会本地化字符串。但是,您可以通过首先创建一个实例来请求本地化,该实例将触发初始化程序:LocalizedStringKeyinit(:tableName:bundle:comment:)

// Don't localize a string variable...
Text(writingImplement)

// ...unless you explicitly convert it to a localized string key.
Text(LocalizedStringKey(writingImplement))

本地化字符串变量时,可以通过省略可选的初始化参数来使用默认表(如上例所示),就像使用字符串文字一样。

技术交流

QQ:3365059189
SwiftUI技术交流QQ群:518696470

你可能感兴趣的:(SwiftUI,中文文档与手册)