将 .rotationEffect() 应用于 Text 时,它会按预期旋转文本,但其框架保持不变。当将旋转视图与非旋转视图(例如 HStack 的 VStack)堆叠时,这会成为一个问题,导致它们重叠。
我最初认为 rotationEffect 会简单地将 Text 的框架更新为垂直,但事实并非如此。
我试过手动设置框架大小和(如果需要,偏移)文本,这有点工作,但我不喜欢这个解决方案,因为它需要一些猜测和检查文本将出现的位置,制作多大框架等。
这就是旋转文本的完成方式,还是有更优雅的解决方案?
struct TextAloneView: View {
var body: some View {
VStack {
Text("Horizontal text")
Text("Vertical text").rotationEffect(.degrees(-90))
}
}
}
Run Code Online (Sandbox Code Playgroud)