问题描述
我制作了一个自定义标签栏,因为系统无法在纯 swiftUI 中自定义。
自定义选项卡视图如下所示:
struct MainTabView: View {
var body: some View {
vstack(spacing: 0) {
switch router.currentTab {
case .tab1:
Tab1View()
case .tab2:
Tab2View()
...
}
Spacer()
HStack(spacing: 0) {
TabBarIconView(viewRouter: viewRouter,...)
TabBarIconView(viewRouter: viewRouter,...)
}
//.ignoresSafeArea(.keyboard) // second try
}
}
//.ignoresSafeArea(.keyboard) // first try
}
当我在其中一个 TabXView 中使用 textfied 时,底部的 HStack 保持在键盘上方。
我发现的一个解决方案是禁用选项卡栏的键盘回避。我通过取消注释上面的行 .ignoresSafeArea(.keyboard)
(第一次尝试)
但当然,这适用于全局,对于每个子视图 => 如果我声明一个滚动视图,则键盘打开时将无法访问底部。
我尝试在上面的 HStack 下设置 .ignoresSafeArea(.keyboard)
(第二次尝试),但这没有任何作用(HStack 停留在键盘上方)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)