带有 ScrollView 的 NavigationView 具有意外的速度(或没有动画)- 大标题 + ScrollView - SwiftUI - iOS 14
NavigationView with ScrollView has unexpected velocity (or no animation) - Large Title + ScrollView - SwiftUI - iOS 14
在带有大标题的 NavigationView 中使用时,ScrollView 出现意外跳转。
不一致的行为如下所示:
复现所需的最低代码:
import SwiftUI
struct LeaderboardView: View {
var body: some View {
NavigationView(){
ScrollView(){
VStack(){
ForEach(0...50, id: \.self){ number in
Text("Number: \(number)").padding()
}
}.frame(maxWidth:.infinity)
}.navigationBarTitle("Numbers")
Spacer();
}
}
}
struct LeaderboardView_Previews: PreviewProvider {
static var previews: some View {
LeaderboardView()
}
}
更奇怪的是,在我向滚动视图添加垂直填充后,行为发生了变化,它不像上面的照片那样快速捕捉,但它仍然是 un-natural。这也可以在预览时在 canvas 中重现。
预期的行为是这样的:
更重要的是 WhatsApp 中的“设置”页面。
我是 Swift(UI) 的初学者。有没有办法解决这个问题?我错过了什么?
注意:我使用的是 XCode 12 beta 3
要像第二个 gif 那样使用 List
NavigationView(){
List{
ForEach(0...50, id: \.self){ number in
Text("Number: \(number)").padding()
}
}.navigationBarTitle("Numbers")
}
此问题已通过 Xcode Beta 4 和 iOS 14 Beta 4 更新解决。
NavigationView() 和 ScrollView() 可以正常使用。
在带有大标题的 NavigationView 中使用时,ScrollView 出现意外跳转。
不一致的行为如下所示:
复现所需的最低代码:
import SwiftUI
struct LeaderboardView: View {
var body: some View {
NavigationView(){
ScrollView(){
VStack(){
ForEach(0...50, id: \.self){ number in
Text("Number: \(number)").padding()
}
}.frame(maxWidth:.infinity)
}.navigationBarTitle("Numbers")
Spacer();
}
}
}
struct LeaderboardView_Previews: PreviewProvider {
static var previews: some View {
LeaderboardView()
}
}
更奇怪的是,在我向滚动视图添加垂直填充后,行为发生了变化,它不像上面的照片那样快速捕捉,但它仍然是 un-natural。这也可以在预览时在 canvas 中重现。
预期的行为是这样的:
更重要的是 WhatsApp 中的“设置”页面。
我是 Swift(UI) 的初学者。有没有办法解决这个问题?我错过了什么?
注意:我使用的是 XCode 12 beta 3
要像第二个 gif 那样使用 List
NavigationView(){
List{
ForEach(0...50, id: \.self){ number in
Text("Number: \(number)").padding()
}
}.navigationBarTitle("Numbers")
}
此问题已通过 Xcode Beta 4 和 iOS 14 Beta 4 更新解决。 NavigationView() 和 ScrollView() 可以正常使用。