以下是一个简单的示例代码。当Button
被按下时,Image
会出现在 的左侧Text
,从而导致Text
缩小。
但是当动画发生时,字母Text
会在水平方向上摆动。以下是动画示例的链接:
TextTruncatingTest.gif
import SwiftUI
struct TextTruncatingTest: View {
@State private var imageVisible: Bool = true
var body: some View {
VStack {
Button {
withAnimation {
imageVisible.toggle()
}
} label: {
Text("Toggle Image")
}
HStack {
if imageVisible {
Image(systemName: "circle")
}
Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")
.transition(.identity)
.lineLimit(1)
}
.padding()
.background {
RoundedRectangle(cornerRadius: 20, style: .continuous)
.foregroundStyle(Color.basicSecondaryBackground)
}
}
.padding()
}
}
#Preview {
TextTruncatingTest()
}
我尝试使用.transition(.identity)
,Text
但没有帮助。我需要保留这种布局类型并找到此动画问题的解决方案。