[英]SwiftUI : Input Field Keyboard animation causing other views in tab view to animate
与我的 TabView 内部视图中的输入字段的交互导致我的其他视图在出现时出现奇怪的动画。 此外,导航栏没有按应有的方式隐藏。
我已经确定这是一个输入字段 + TabView 问题,因为:
我研究了一些解决方案,但没有运气:有没有办法覆盖键盘 animation? 有没有办法在标签视图加载时强制标签视图视图“出现”? 有没有办法阻止其他 TabView 子视图受到其他 TabView 视图更改的影响
选项卡代码
TabView (){
ViewA()
.tabItem {
Image("viewa").renderingMode(.template)
Text("viewa")
}
ViewB()
.tabItem {
Image("viewb").renderingMode(.template)
Text("viewb")
}
ViewC()
.tabItem {
Image("viewc").renderingMode(.template)
Text("viewc")
}
ViewD()
.tabItem {
Image("viewd").renderingMode(.template)
Text("viewd")
}
}
在选项卡视图子视图中,animation 应用于包含我的项目的 VStack,如下所示。
VStack{
items...
}.animation(.easeInOut)
此代码用于隐藏导航:
.background(NavigationConfigurator { nav in
nav.hidesBarsOnSwipe = true
})
预期行为:
与输入字段交互时的行为:
看来这是 TabView 和键盘的持续错误。 在解决此问题之前的临时修复是将 VStacks 转换为 LazyVStacks,以便在必要时不会加载视图。
有一个修饰符可用于修复此受支持的问题。 尝试使用这个:
.ignoresSafeArea(.keyboard)
这将防止任何东西在移动时移出键盘的安全区域。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.