我的问题很难用语言来描述.
我想要做一个 Select 者那样的行为.
但在我更改浏览方向后,因为我已经设置了进入和离开过渡,即使我将过渡更改为新的过渡,视图仍然使用旧的过渡来消失.(第一张和最后一张)
有什么办法可以解决这个问题吗?
以下是代码
@State var translations:[String] = ["未知"]
@State var index = 0
@State var transition:AnyTransition = .asymmetric(insertion: .move(edge: .trailing), removal:.move(edge: .leading)).combined(with: .opacity)
var transTexts:some View{
HStack{
if(translations.count > 1){
Button {
if(index > 0){
transition = .asymmetric(insertion: .move(edge: .leading), removal:.move(edge: .trailing)).combined(with: .opacity)
disabled.toggle()
index -= 1
}
} label: {
Image(systemName:"arrowtriangle.backward.circle.fill")
}
.disabled(index == 0)
Text(translations[index])
.scroll()
.font(.body)
.id(index)
.disabled(disabled)
.transition(transition)
}
Spacer()
if(translations.count > 1){
Button {
if(index < translations.count-1){
transition = .asymmetric(insertion: .move(edge: .trailing), removal:.move(edge: .leading)).combined(with: .opacity)
disabled.toggle()
index += 1
}
} label: {
Image(systemName:"arrowtriangle.forward.circle.fill")
}
.disabled(index == translations.count - 1)
}
}
.animation(.default,value: index)