net*_*000 6 text-alignment swiftui
在 UIKit 中,可以选择对齐文本,使其看起来像报纸上的一样。但是我在 Textelement 上的 SwiftUI 中找不到此选项。我只发现带有 .trailing、.leading、.center 的多行对齐。
有人能指出我正确的方向吗?
dio*_*ogo 13
SwiftUI 尚不支持对齐文本,因此您必须使用UIViewRepresentable包装 UIKit 视图。因此,对于对齐的文本,您可以包装UITextView。它看起来像这样:
struct TextView: UIViewRepresentable {
var text: String
func makeUIView(context: Context) -> UITextView {
let textView = UITextView()
textView.font = UIFont.preferredFont(forTextStyle: UIFont.TextStyle.body)
textView.textAlignment = .justified
return textView
}
func updateUIView(_ uiView: UITextView, context: Context) {
uiView.text = text
}
}
Run Code Online (Sandbox Code Playgroud)
从这里,您可以在视图中使用它,如下所示:
struct MyView: View {
var body: some View {
TextView(text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin quis elementum lorem. Nullam fermentum viverra ipsum a finibus. Vestibulum venenatis risus vel leo sagittis, id aliquet tortor elementum. Aenean elementum orci ac sapien dictum laoreet. Sed placerat, magna sit amet eleifend auctor, odio ligula dapibus lacus, quis interdum ligula velit at est. Curabitur molestie dui sodales faucibus cursus. Duis posuere ex diam, tempor tincidunt nunc venenatis vitae. Integer vulputate odio vitae enim tincidunt, eget vulputate arcu pulvinar. Integer in magna erat.")
.frame(width: 500, height: 300)
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4640 次 |
最近记录: |