当前位置: 首页 > article >正文

SwiftUI疑难杂症(1):sheet content多次执行

在开发SwiftUIDev的时候,今天突然发现了一个弹出sheet时候content多次执行,手动dismiss也会多次执行的异常情况,能复现问题的代码如下:

struct Test: View {
    @State private var present = false

    var body: some View {
        return VStack {
            Button("open") {
                present = true
            }
        }
        .toolbar {
            ToolbarItem {
//                Button("open") {
//                    present = true
//                }
                Menu {
                    Button("sample", action: {
                        present = true
                    })
                } label: {
                    Image(systemName: "curlybraces")
                }
            }
        }
        .sheet(isPresented: $present) {
            print("=====show sheet")
            return Text("sheet")
        }
        .navigationTitle("test")
    }
}

经测试,发现该问题仅在.toolbar { ToolbarItem { Menu {}}}.sheet结构的时候才会发生。如果把Menu换成Button,或者把.sheet移到.toolbar之前都不会发生这个问题。环境iOS16+Xcode14。


http://www.kler.cn/a/323048.html

相关文章:

  • 使用Java绘制图片边框,解决微信小程序map组件中marker与label层级关系问题,label增加外边框后显示不能置与marker上面
  • 零基础利用实战项目学会Pytorch
  • 对接阿里云实人认证
  • HBuilder(uniapp) 配置android模拟器
  • c++ 类和对象(中)
  • Tessy学习笔记—requirement(需求)的管理
  • 在Java中,关于final、static关键字与方法的重写和继承【易错点】
  • io流(学习笔记01)--File知识点
  • Qt常用快捷键
  • 数据结构:串 及串的模式匹配(KMP)
  • 视觉无障碍 | 成都爱尔眼科公益助力重获清晰便利独居人生
  • 阿里rtc旁路推流TypeScript版NODE运行
  • 从入门到精通:计算机视觉学习路线与实战项目推荐
  • ROS与无人驾驶学习笔记(零)——问题汇总
  • Linux基础命令kill详解
  • JBOSS中间件漏洞复现
  • STM32 RTC实时时钟学习总结
  • WordPress精选文章如何添加侧边栏和页面?
  • 计算物理精解【8】-计算原理精解【5】
  • 如何在ChatGPT的帮助下,使用“逻辑回归”技巧完成论文写作?
  • sql server 版本补丁更新
  • Superset二次开发之Git篇git fetch 异常信息汇总
  • 【深度学习基础模型】Variational Autoencoders (VAE) 详细理解并附实现代码。
  • 【基础知识】Go中的同步机制
  • 基于yolov8的辣椒缺陷检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • STM32G431RBT6 VREF+与VDDA引脚