SwiftUI:proxy.safeAreaInsets.bottom的高度为什么等于keyboardHeight?

昵称

因此,iPhone 11 Pro Max上的safeAreaInset.bottom是34.0,但是当键盘打开时,它将safeAreaInset.bottom更改为键盘的高度(346.0点)。打开键盘后,有什么方法可以访问safeAreaInset.bottom值(34.0)?

作为参考,我的内容视图中包含一个几何读取器:

var body: some View {
    GeometryReader { proxy in
        //I pass in proxy into views in here and then access the safe area with proxy.safeAreaInsets.bottom
    }
}

我还需要它能够在所有设备上适应,并且似乎为不同设备编写一堆if语句是一个非常糟糕的解决方案。有人有建议吗?

他的脾气

这是可能的解决方案。经过Xcode 12 / iOS 14测试

演示

var body: some View
{
    GeometryReader
    { gp in
        VStack
        {
            Text("Bottom: \(gp.safeAreaInsets.bottom)")
            Spacer()
            TextField("Value", text: $selection)
            Spacer()
        }
    }.ignoresSafeArea(.keyboard, edges: .bottom)     // << here !!
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么将其他SafeAreaInsets传播到子VC?

在SwiftUI中无需使用GeometryReader,还有其他方法可以访问safeAreaInsets吗?

为什么在`viewWillTransitionToSize`中检索SafeAreaInsets的逻辑有点错误?

iOS11以编程方式关闭`safeAreaInsets`

在iPhone X上,UIView中的safeAreaInsets为0

如何在UIScrollview(iOS 11,iPhoneX)上摆脱safeAreaInsets

如何在viewWillTransitionToSize中获取safeAreaInsets(iPhone X)

当View.OnAppearing触发时,SafeAreaInsets为0

为什么文档高度等于窗口内部高度+ pageYoffset?

为什么getHeight()不等于框架高度?

为什么我的图像宽度和高度等于0?

为什么我不能让按钮的高度等于它们的宽度?

safeAreaInsets在viewDidLoad中返回错误的值,在哪里获得它的最佳位置?

为什么当border-bottom-style等于'none'时指定border-bottom-color?

为什么{} == {}等于false?

为什么 !&&等于||?

为什么+ !! {}等于1?

SwiftUI GroupBoxStyle填充高度

高度相等的SwiftUI HStack

SwiftUI 父级高度

SwiftUI ScrollView的内容高度

SwiftUI NavigationBar的高度

SwiftUI - 为什么底部有默认填充?

为什么下拉导航出现溢出:隐藏的页面阻塞等于导航的高度?

为什么我的填充 + 字体大小不等于容器的高度?

如果<html>的高度始终等于视口的高度,为什么<html>中位于底部的页脚移动到视口下方

什么是com.sun.proxy。$ Proxy

为什么1:[[]]等于(1:[]):[]?

为什么“ a” <“ b”等于“ true”?