iOS16 Bug 键盘在关闭 SwiftUI 时破坏布局

2023-11-22

在 iOS16 中,工作表内部存在键盘的错误,当工作表关闭时键盘消失(没关系),但布局未更新。我只看到了关于同一问题的 1 个问题,想知道也许有人找到了临时解决方法,直到苹果不解决这个问题。 重现代码:

struct Test: View {
    
    @State var isPresented: Bool = false
    @State var text: String = ""
    
    var body: some View {
        VStack{
            Button {
                isPresented.toggle()
            } label: {
                Text("PRESENT")
            }
        }
        .sheet(isPresented: $isPresented) {
            ZStack {
                Color.red
                VStack{
                    TextField("Test", text: $text)
                        .frame(height: 50, alignment: .center)
                    Spacer()
                    Rectangle()
                        .fill(Color.blue)
                        .frame(width:300, height: 50)
                }
            }
        }
    }
}

Video: https://vimeo.com/758845068


The .ignoresSafeArea()解决了问题,但是... 这将由于 UI 中的键盘重叠而导致无法滚动查看所有元素。

我用.adaptsToKeyboard()自定义修饰符取自此answer

然后在需要的地方按照这个特定的顺序使用它。

VStack {...}
       .adaptsToKeyboard()
       .ignoresSafeArea()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS16 Bug 键盘在关闭 SwiftUI 时破坏布局 的相关文章

  • 使用 swift 自动滚动 UITextView (IOS 应用程序)

    我似乎无法找到自动滚动的正确解决方案UITextView using Swift 对于我的应用程序 我从 BT 接收持续数据 并且我正在更新它UITextView 然而 当UITextView将到达最新更新的行 我将不得不手动滚动 我想要实
  • Swift:HackerRank readLine 一个 Int 数组

    我正在玩 HackerRank 我需要从行读取整数数组的问题之一 A 1 2 3 B 1 4 7 I tried let line readLine print line 但我收到这个错误 solution swift 2 7 warnin
  • 在哪里可以找到“get-pip.py”下载链接?

    作为教程的一部分 我尝试下载 pip py 但链接现在不同了 我找不到可以下载 pip 的按钮 这是我得到的链接 https pip pypa io en stable installing cmdoption no setuptools
  • 为什么 UICollectionView didSelect 方法不起作用?

    我已经创建了我的UICollectionView以编程方式 在这种情况下我的didSelectItemAtIndexPath方法根本不调用 let collectionView UICollectionView frame CGRect x
  • Swift:将字符串转换为十六进制颜色代码

    我已经从数据库生成了用户 ID 格式类似于 XzSYoKJaqKYREkdB2dgwt0fLOPP2 我想用它来创建 UIColor 我找到了几个解决方案 https github com yeahdongcn UIColor Hex Sw
  • 无法在新的 Xcode 10.2 (iOS 12.2) 中构建 Alamofire 框架

    由于以下错误 我无法在 Xcode 10 2 iOS 12 2 中为 swift 5 构建 Alamofire SWIFT VERSION 3 0 is unsupported supported versions are 4 0 4 2
  • 动态增加UITableViewCell中UILabel的高度?

    我有一个 UITableView 其中显示一个自定义单元格 我的单元格有两个标签和一个视图 如下图所示 我已经像这样给出了左视图的约束 项目标签限制 中心视图约束 右视图的约束 I am using a bean class to stor
  • SwiftUI 动画滑入和滑出

    我有一个视图将显示在另一个视图上 视图动画完美地从右侧滑入 但是当我单击 关闭 按钮时 视图消失 而没有在消失之前滑回右侧的所需动画 我尝试过使用 opacity self isShowing 1 0 但随后视图淡入和淡出 我需要它滑入和滑
  • 在 Swift 中获取 UIImage 的主颜色

    我正在尝试在 Swift 中获取 UIImage 的主颜色 并尝试移植这段代码 https stackoverflow com questions 13694618 objective c getting least used and mo
  • CLLocation Manager如何在一定距离后更新

    我正在使用 CLLocationManager didupdatelocations 如下所示 func locationManager manager CLLocationManager didUpdateLocations locati
  • 如何使 SFSpeechRecognizer 在 macOS 上可用?

    我正在尝试使用 Apple 的语音框架在 macOS 10 15 1 上进行语音识别 在 macOS 10 15 之前 语音识别仅在 iOS 上可用 但根据文档 https developer apple com documentation
  • 检查定位服务是否开启

    我一直在对 CoreLocation 进行一些研究 最近 我遇到了一个在其他地方 但在 Objective C 和 iOS 8 中 已经讨论过的问题 我觉得问这个问题有点傻 但是如何在 iOS 9 上使用 swift 检查是否启用了位置服务
  • 使用 iOS 8 自定义键盘发送图像?

    我一直在为 iOS 8 开发自定义键盘 但在尝试使用键盘发送图像时偶然发现了一个问题 我做了一些研究 似乎没有一种简单的方法可以做到这一点UITextDocumentProxy因为只有NSStrings被允许 我是否忽略了使用自定义键盘发送
  • 如何在 SwiftUI 中仅使用 ForEach 而不是列表来滑动删除

    我正在 SwiftUI 中使用 ForEach 制作自定义列表 我的目标是进行滑动删除手势 而不是将 ForEach 嵌入到列表中 到目前为止 这是我的代码 import SwiftUI struct ContentView View le
  • 使用完成处理程序在 Swift 中调用连续动画

    我正在制作一个可以显示化学反应动画的应用程序 每个原子都是一个 SCNSphere 并通过 SCNActions 进行动画处理 我尝试使用 runAction 中的完成处理程序在当前操作完成后调用下一个动画 因为每个原子必须做出很多不同的运
  • 从“NSPercientStoreResult”转换为不相关类型“Entity”总是失败

    我正在创建一个小应用程序来学习 CoreData 中的多对多关系 但是 使用下面的代码 从 NSFetchResult 到实体类 Groepering 的转换出现错误 与我的项目相比 我在互联网上找到的示例没有看到任何差异 为什么转换仍然失
  • UIButton的高亮状态由什么控制事件开始和结束

    我正在创建类似钢琴的视图UIButton作为钢琴键 什么UIControlEvents当按钮获得和失去突出显示状态时 我应该监听以获得回调吗 我试图创建子类UIButton并添加属性观察者highlighted并且运行良好 然而 有时我需要
  • 如何使用 Swift 使用 TouchID?

    Apple 为 iOS 8 的 TouchID 实现提供的文档采用 Objective C 语言 有 Swift 版本吗 Objective C IBAction touchIDAvailable UIButton touchIDAvail
  • 根据 iOS 版本使用不同的类实现?

    iOS 11 最近添加了一个我想使用的新功能 但我仍然需要支持旧版本的 iOS 有没有一种方法可以将同一个类编写两次 并让较新版本的 iOS 使用该类的一个版本 而旧版本的 iOS 使用另一个版本 注 最初我用的是if available
  • Swift 中的 import 语句是否有相关成本?

    阅读字符串宣言 我看到一个段落 https github com apple swift blob master docs StringManifesto md batteries included关于避免Foundation不需要的时候导

随机推荐

  • matplotlib:以 None 作为值绘制 numpy 数组

    我有一个看起来像这样的数组 k numpy array 1 0 001 1 1 0 002 None None 1 2 0 003 0 99 0 004 我想绘制不是的值 None None 并保留数组值的索引 也就是说 只要有间隙 我就想
  • Go中如何实现策略模式?

    这是我试图解决的一般问题 一组包从一个源收集数据并将其发送到多个通道 第二组包从多个通道收集数据并将其写入一个源 这组包需要转换多种格式的数据 这似乎是策略模式的完美案例 但我不确定如何最好地使其在 Go 中发挥作用 一般来说 不要迷失在构
  • 如何在 Jenkinsfile 中获取 shell 脚本的输出?

    在 Jenkinsfile Groovy 脚本阶段 假设我想发出一个 linux 命令来输出字符串的行和列 并且想要获取某一行的输出中的第 n 列 此类命令的一个示例是 ls al 那我这样做对吗 stage Get dir size sh
  • 如何使用 CSS 将图像大小调整为其自身的百分比?

    我正在尝试使用图像本身的百分比来调整图像的大小 例如 我只想将图像大小调整为 50 将图像缩小一半 但申请width 50 会将图像大小调整为容器元素 可能是父元素 的 50 例如 问题是 我可以在不使用 JavaScript 或服务器端的
  • 如何使用 micrometer-brave 在 spring-cloud-gateway 中获取trace-id

    我想在 Spring Cloud Gateway 中的每个请求的日志中显示traceId 然而 traceId和spanId只是空的 日志配置如下 logging pattern level 5p TRACE ID X traceId SP
  • ServiceStack.Redis:无法连接:sPort:0

    有时 并非总是 我得到 无法连接 sPort 0 使用 ServiceStack Redis 时尝试从 Redis 获取值时出错 有谁知道这可能意味着什么 我正在使用 PooledRedisClientManager 来获取客户端 我相信你
  • Firebase 3.0 令牌:[错误:Firebase Auth ID 令牌没有“kid”声明]

    我目前正在使用 firebase 3 0 开发一个 node js 服务 该服务由使用 firebase 2 4 的 Web 应用程序调用 我正在发送当前用户Firebase ID 令牌 Auth getAuth token 在我的标头调用
  • ng14 中具有强类型表单的 FormBuilder

    我有以下表格 const enum Fields FirstName firstName LastName lastName interface FormType Fields FirstName FormControl
  • 检索安全描述符并获取 FileSystemRights 编号

    Using Get Acl我正在尝试获取文件夹的访问权限 问题是 对于某些组 我得到的是号码而不是访问类型 下面的例子 get acl C TestFolder access FileSystemRights 536805376 Acces
  • Laravel 5.6 getRouteKeyName() 不起作用

    这是我到目前为止的代码 Web php Route get uri PageController show gt name page show 页面控制器 Show the requested page public function sh
  • 将 .jar 转换为 OSX 可执行文件?

    我制作了一个 Java 应用程序 我想在 Windows OSX 和 Linux 上分发它 而不分发 jar 文件 我使用了很棒的 Windows exe 包装器http launch4j sourceforge net 创建一个包含我的图
  • Android ListView 具有多种布局

    我必须显示具有不同类型视图的列表 所以我必须定义一个带有适配器的 ListView 我必须在其中扩展多个视图 我已经经历过example给定 但问题是我的列表不对称 就像示例中每次在 4 个项目后重复标题一样 所以我面临着重复使用物品的问题
  • 如何在跨文件预处理时获取唯一值

    PROBLEM 我需要一种使用预处理器指令生成唯一值的方法 目的是每次调用宏时 它都会有一个唯一的integral标识符 但它应该在文件中保留其价值 有点像预处理器计数器 用于记录调用函数的次数 更多信息 我使用的宏是 define LOG
  • 使用通用可选参数的 Typescript 函数重载

    我正在尝试编写一个高阶函数来包装输入函数并缓存最近调用的结果作为副作用 基本功能 withCache 看起来像这样 function cache key string value any Some caching logic goes he
  • 为什么我无法使用索引器将项目添加到通用列表?

    这是我今天看到的一个奇怪的情况 我有一个通用列表 我想使用它的索引器将项目添加到我的列表中 如下所示 List
  • Docker PHP 7.1 imagick

    Docker php 7 1 imagick pecl install imagick docker php ext enable imagick 软件包 pecl php net imagick 没有可用的版本 安装失败 错误 服务 应用
  • 通过 .NET 确定每个查询的 DocumentDB 请求费用

    我试图弄清楚在通过提供的 NET 客户端库执行 DocumentDB 查询请求时是否可以获得 请求费用 详细信息返回到底层 HTTP 标头 x ms request charge 中 我可以通过 Fiddler 等进行监控 但如果我可以直接
  • Python:pip 尝试安装到 /bin 目录

    我安装了 pythonbrew install python which pip usr local bin pip my PYTHONPATH shows usr local lib python2 7 site packages 但是
  • Symfony2 自定义存储库类

    我是 symfony2 的新手 我正在尝试创建自定义存储库类 但无法做到 这是我正在做的事情 我向实体类 手机 添加了注释 ORM Entity repositoryClass Maak DefaultBundle Entity Mobil
  • iOS16 Bug 键盘在关闭 SwiftUI 时破坏布局

    在 iOS16 中 工作表内部存在键盘的错误 当工作表关闭时键盘消失 没关系 但布局未更新 我只看到了关于同一问题的 1 个问题 想知道也许有人找到了临时解决方法 直到苹果不解决这个问题 重现代码 struct Test View Stat