Swift 防止 TabBar 在键盘处于活动状态时向上移动

Posted

技术标签:

【中文标题】Swift 防止 TabBar 在键盘处于活动状态时向上移动【英文标题】:Swift prevent TabBar from moving up when Keyboard is active 【发布时间】:2021-01-07 19:39:18 【问题描述】:

所以每当我的键盘切换时,Tabbar 就会随之向上移动,如图所示。当键盘处于活动状态时,有没有办法防止这种情况发生?我的版本是 ios 14 和 XCode 12 提前致谢!

/// 更正: 如何修改 SwiftUI 中的任何 View 以防止键盘出现时向上移动?

struct SwiftUIView: View 
@State var text = ""
var body: some View 
        VStack
        TextField("Text", text: $text)
            Text(">>Don't Move Me Up When Keyboard Is Active<<")
    

保罗

simulator view when tabbar moves up when keyboard is active

【问题讨论】:

你能给我们看一些代码吗? 欢迎来到 Stack Overflow。请使用tour 并查看How to Ask。您需要至少向我们展示您正在执行的导致标签栏移动的代码。 嘿,对不起,它有点棘手,因为我实现了代码并且发生了很多事情,但是由于 swiftui TabView 的限制,我使用了一个包裹在 Representable 中的 UITabbarcontroller,然后禁用了真正的TabBar 来实现我自己的一个有效的。但由于它是一个自定义的(带有图标的 HStack),它当然不会被识别为 Tabbar。所以问题是,当键盘出现时,我怎样才能防止一般的东西向上移动。抱歉之前的描述不好...... 【参考方案1】:

尝试将以下修饰符添加到您的标签栏:

.ignoresSafeArea(.keyboard, edges: .bottom)

【讨论】:

嘿,这很好用。我还在这里找到了这个,他们提到还要添加一个 Spacer() 以使其工作!太感谢了! ***.com/questions/63968241/… @Paul 您介意将此答案标记为已接受吗?很高兴它有帮助。 我正在使用自定义选项卡视图,当我在导航视图中添加此修饰符时,解决方案正在运行

以上是关于Swift 防止 TabBar 在键盘处于活动状态时向上移动的主要内容,如果未能解决你的问题,请参考以下文章

当特定的弹簧配置文件处于活动状态时,如何防止运行测试?

如何检测 UIAccessibilityRequestGuidedAccessSession 在设备上是不是处于活动状态,iOS swift?

当 iOS 键盘处于活动状态时,CSS 方向会自动切换到横向

自定义颜色的 UITabBar 图标

是否可以在不隐藏键盘的情况下使 UITextView 处于非活动状态(可编辑 = 否)?

如何在应用程序处于非活动状态时获取推送通知ios swift3