小编lsr*_*ggr的帖子

iOS 14 SwiftUI 中不需要的位置动画

对于 iOS 14 和 iOS 13,Swift UI 动画似乎在其父框架中的 View 位置动画方面表现不同。我在下面的代码片段中的目标是仅对按钮文本的大小调整进行动画处理,这应该在点击它时发生. 相反,在 iOS 14 中,由 VStack 中附加视图的切换可见性引起的按钮位移也被动画化。

相同的代码在 iOS 13 (Xcode 11) 和 iOS 14(Xcode 12 beta 6,在 macOS 11 beta 上)产生不同的输出。在 iOS 14 中,如何重现旧行为?

import SwiftUI
import PlaygroundSupport

struct ContentView: View {
    @State var toggle = false
    var body: some View {
        VStack{
            if self.toggle {
                Rectangle().frame(width: 200, height: 200)
            }
            Button(action: {
                self.toggle.toggle()
            }){
                Text("Tap me!")
                    .scaleEffect(self.toggle ? 2 : 1)
                    .animation(
                        Animation.easeInOut(duration: 1.5)
                    )
            }
        } …
Run Code Online (Sandbox Code Playgroud)

animation ios swift swiftui

5
推荐指数
1
解决办法
1393
查看次数

标签 统计

animation ×1

ios ×1

swift ×1

swiftui ×1