在文本视图中添加长文本时,它会按预期工作(不会被截断)。
Xcode 11.0 beta 6(11M392q)
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.")
.lineLimit(nil)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
但是当嵌入ScrollView时,它会被截断(不期望):
import SwiftUI
struct ContentView: View {
var body: some View {
ScrollView {
Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.")
.lineLimit(nil)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
我尝试设置.lineLimit(nil)修饰符,但也没有避免截断文本。
这是SwiftUI文本的预期行为吗?还是一个错误?
感谢有人可以帮助您! :)
欢呼
答案 0 :(得分:5)
文字(“您的长文字在这里”) .fixedSize(水平:false,垂直:true)
应该解决问题。
编辑:这是iOS 13.1 beta 1及更高版本的默认设置。
答案 1 :(得分:-1)
要找到解决问题的方法,只需使用type Starship {
id: ID!
name: String!
model: String!
length(unit: LengthUnit = METER): Float
}
为文本添加框架,如下所示:
GeometryReader
答案 2 :(得分:-1)
此问题的一种解决方案(似乎是SwiftUI Xcode Beta 6的一个错误),是使用下面的修饰符:
.frame(idealHeight:.greatestFiniteMagnitude)