微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SwiftUI 为自定义标签栏控件禁用键盘避免

如何解决SwiftUI 为自定义标签栏控件禁用键盘避免

我制作了一个自定义标签栏,因为系统无法在纯 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 举报,一经查实,本站将立刻删除。