Instance Method インスタンスメソッド

monospacedDigit()

Modifies the text view’s font to use fixed-width digits, while leaving other characters proportionally spaced.

Declaration 宣言

func monospacedDigit() -> Text

Return Value 戻り値

A text view with a modified font that uses fixed-width numeric characters, while leaving other characters proportionally spaced.

Discussion 議論

This modifier only affects numeric characters, and leaves all other characters unchanged.

The following example shows the effect of monospacedDigit() on a text view. It arranges two text views in a VStack, each displaying a formatted date that contains many instances of the character 1. The second text view uses the monospacedDigit(). Because 1 is usually a narrow character in proportional fonts, applying the modifier widens all of the 1s, and the text view as a whole. The non-digit characters in the text view remain unaffected.


let myDate = DateComponents(
    calendar: Calendar(identifier: .gregorian),
    timeZone: TimeZone(identifier: "EST"),
    year: 2011,
    month: 1,
    day: 11,
    hour: 11,
    minute: 11
).date!


var body: some View {
    VStack(alignment: .leading) {
        Text(myDate.formatted(date: .long, time: .complete))
            .font(.system(size: 20))
        Text(myDate.formatted(date: .long, time: .complete))
            .font(.system(size: 20))
            .monospacedDigit()
    }
    .padding()
    .navigationTitle("monospacedDigit() Modifier")
}

Two vertically stacked text views, displaying the date January 11,

If the base font of the text view doesn’t support fixed-width digits, the font remains unchanged.

See Also 参照

Styling the View’s Text ビューのもつテキストにスタイルをつける