选择后的 SwiftUI Picker 动画错误

Posted

技术标签:

【中文标题】选择后的 SwiftUI Picker 动画错误【英文标题】:SwiftUI Picker animation bug after selection 【发布时间】:2020-12-14 14:39:56 【问题描述】:

当我从我的选择器中选择某些东西时,动画/突出显示会停留在那里,并且不会消失。

 Picker(selection: $selectedFrameworkIndex, label:             HStack 
                            Image(systemName: "location.fill")
                            Text("Indulás innen:")
                            
                        ) 
                            ForEach(0 ..< stations.count, id: \.self) 
                                if direction == stations[$0].direction 
                                    Text(stations[$0].name)
                                    
                                
                            
                            
                            
                        

@State private var selectedFrameworkIndex = 0

【问题讨论】:

你使用哪种环境? 我正在使用 Xcode - SwiftUI 5 语言。版本。我希望这是您问题的答案,或者您是什么意思的“哪个环境”? 没有 SwiftUI 5,只有 SwiftUI 2.0。不要将 SwiftUI.framework 与 swift 语言混淆。哪个 Xcode 版本/ios 版本? 哦,对不起。所以 iOS 14.2 - xcode 版本 12.2 (12B45b) 【参考方案1】:

这看起来像是另一个 iOS 14.2 缺陷。

尝试以下解决方法:

Picker(selection: $selectedFrameworkIndex, label: 
  HStack 

    Image(systemName: "location.fill")
    Text("Indulás innen:")
    
  ) 
    ForEach(0 ..< stations.count, id: \.self) 
        if direction == stations[$0].direction 
            Text(stations[$0].name)
            
        
    
.id(selectedFrameworkIndex)       // << here !!

【讨论】:

谢谢!在职的! :)

以上是关于选择后的 SwiftUI Picker 动画错误的主要内容,如果未能解决你的问题,请参考以下文章

为 SwiftUI 寻找一个简单的自定义视图:picker

SwiftUI:动画过渡

SwiftUI Picker 多个错误,核心数据,布局

如何在 SwiftUI 中使用多个 Picker 更改 UIPickerView 宽度?

SwiftUI Picker 选择结构

在 SwiftUI 中,我如何知道 Picker 选择何时更改?为啥 didSet 不起作用?