Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swiftui 使文本元素始终为“;“两行”;_Swiftui_Swiftui Text - Fatal编程技术网

Swiftui 使文本元素始终为“;“两行”;

Swiftui 使文本元素始终为“;“两行”;,swiftui,swiftui-text,Swiftui,Swiftui Text,我有一个像这样的垂直堆栈 VStack Text(lineA) .lineLimit(2) Text(lineB) Text(lineC) } 别问我为什么。我的老板决定,他们希望第一个文本总是有两行,即使lineA变量没有字符使文本增长到两行 有没有一种方法可以使第一个文本在两行的情况下进行渲染,并且在超过两行的情况下仍然显示保留 我可以看到使用一个框架来实现这一点,有点像自杀,将高度固定在不同设备的点上 有没有致命性更低的解决方案?这里是可能的解决方案(使用Xcod

我有一个像这样的垂直堆栈

VStack
  Text(lineA)
    .lineLimit(2)

  Text(lineB)

  Text(lineC)
}
别问我为什么。我的老板决定,他们希望第一个
文本总是有两行,即使lineA变量没有字符使文本增长到两行

有没有一种方法可以使第一个文本在两行的情况下进行渲染,并且在超过两行的情况下仍然显示保留

我可以看到使用一个框架来实现这一点,有点像自杀,将高度固定在不同设备的点上

有没有致命性更低的解决方案?

这里是可能的解决方案(使用Xcode 12.4/iOS 14.4测试)


@Asperi
绝妙的想法之后,我测试了另一个更适合我的选项:

var body: some View {
    VStack {
        Text("asdfasfdasfasfasfafddafas\n")
            .lineLimit(2)
            .foregroundColor(.black)
            .frame(maxWidth: .infinity)

        Text("lineB")
        Text("lineC")
    }
}

这将使它成为两行,即使文本只能容纳一行,并且如果文本超过两行,将添加网线。

在哪个位置断开
lineA
?第一个文本元素应使用所有可用的水平大小,并在单词处断开您可以使用的。。。对我来说,这真是太聪明了太精彩了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
var body: some View {
    VStack {
        Text("asdfasfdasfasfasfafddafas\n")
            .lineLimit(2)
            .foregroundColor(.black)
            .frame(maxWidth: .infinity)

        Text("lineB")
        Text("lineC")
    }
}