SwiftUI 如何向文本视图添加下划线?

Ken*_*kin 13 ios swift swiftui

有没有办法修改文本视图以具有下划线?例如像下面这样的文字:

您的?文本?

Text(Constants.chooseText)
    .font(Font.system(size: 26))
    .foregroundColor(Color.white)
    .padding(.bottom, 80)
Run Code Online (Sandbox Code Playgroud)

bya*_*haf 32

在文本视图上添加下划线修饰符

        Text("Hello, world!")
            .underline()
Run Code Online (Sandbox Code Playgroud)

  • ios16之后可以使用下划线。如果我们需要在ios 16之前使用怎么办 (2认同)
  • @PoojaGupta 下划线自 iOS 13.0+ 起可用 https://developer.apple.com/documentation/swiftui/text/underline(_:color:) (2认同)

Ken*_*kin 13

更新添加 underline() 作为第一个修饰符解决了这个问题。

Text(Constants.chooseText)
    .underline()
    .font(Font.system(size: 26))
    .foregroundColor(Color.white)
    .padding(.bottom, 80)
Run Code Online (Sandbox Code Playgroud)


Gur*_*ngh 8

iOS 16 你可以使用下划线修饰符,如果你想要更高级的东西,比如控制它的位置和大小,那么你可以使用背景修饰符,在 bg 中你可以设置下划线的高度偏移颜色。或者,您也可以使用叠加修饰符。示例代码:

// Using background modifier
                    Text("FRANCE")
                        .foregroundColor(Color.white)
                        .background(
                            Color.white
                                .frame(height: 1) // underline's height
                                .offset(y: 14) // underline's y pos
                        )
Run Code Online (Sandbox Code Playgroud)

输出: 在此输入图像描述

//Using overlay modifier
              Text("FRANCE")
                        .foregroundColor(Color.white)
                        .overlay(
                            Rectangle()
                                .fill(Color.white)
                                .frame(width: 64, height: 1)
                            , alignment: .bottom
                        )
Run Code Online (Sandbox Code Playgroud)

输出: 在此输入图像描述


Ena*_*que 6

您可以像下面这样使用:

Text("Forget User ID")
     .underline(true, color: .gray)
Run Code Online (Sandbox Code Playgroud)