SwiftUI:对齐文本
Posted
技术标签:
【中文标题】SwiftUI:对齐文本【英文标题】:SwiftUI: Justify Text 【发布时间】:2020-07-24 13:57:23 【问题描述】:在 UIKit 中,可以选择对齐文本,使其看起来像在报纸上。但是我在 Textelement 的 SwiftUI 中找不到这个选项。我只发现与 .trailing、.leading、.center 的多行对齐。
有人能指出正确的方向吗?
【问题讨论】:
将 UILabel 与 UIViewRepresentable 一起使用 【参考方案1】: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
从这里,您可以像这样在视图中使用它:
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)
【讨论】:
以上是关于SwiftUI:对齐文本的主要内容,如果未能解决你的问题,请参考以下文章