SwiftUI 关闭从 NavigationView 呈现的模式表(Xcode Beta 5)

2024-06-20

我试图忽略通过呈现的模态视图.sheet在 SwiftUI 中 - 由Button这是在一个NavigationViews navigationBarItems, 如下所示:

struct ModalView : View {

    @Environment(\.presentationMode) var presentationMode  

    var body: some View {       
        Button(action: {
            self.presentationMode.value.dismiss()
        }, label: { Text("Save")})
    }   

}

struct ContentView : View {

    @State var showModal: Bool = false

    var body: some View {
         NavigationView { 
           Text("test")
           .navigationBarTitle(Text("Navigation Title Text"))
           .navigationBarItems(trailing:
               Button(action: {
                   self.showModal = true
               }, label: { Text("Add") })
                   .sheet(isPresented: $showModal, content: { ModalView() })
           )
        }
    }

}

点击“保存”按钮时,模式不会消失,它只是保留在屏幕上。摆脱它的唯一方法是向下滑动模式。

打印的值self.presentationMode.value总是显示false所以它似乎认为它还没有被呈现。

这只发生在它从NavigationView。把它拿出来,效果很好。

我在这里遗漏了什么,还是这是一个测试版问题?


您需要移动.sheet按钮之外。

NavigationView {
  Text("test")
  .navigationBarTitle(Text("Navigation Title Text"))
  .navigationBarItems(trailing:
     Button("Add") {
       self.showModal = true
     }
  )
  .sheet(isPresented: $showModal, content: { ModalView() })
}

您甚至可以将其移至外部NavigationView关闭。

NavigationView {
  Text("test")
  .navigationBarTitle(Text("Navigation Title Text"))
  .navigationBarItems(trailing:
     Button("Add") { self.showModal = true }
  )
}
.sheet(isPresented: $showModal, content: { ModalView() })

请注意,如果您有一个简单的文本按钮,您还可以简化按钮调用。

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

SwiftUI 关闭从 NavigationView 呈现的模式表(Xcode Beta 5) 的相关文章

  • 带有自定义图像标题的 swiftui 列表

    我想在 swiftui 中为列表设置图像标题 我想要的效果如下图所示 我的代码如下 import SwiftUI struct ContentView View var body some View NavigationView List
  • ScrollView 内的 GeometryReader 会折叠 GeometryReader,无论子尺寸如何

    我正在尝试创建一个包含绘图的子视图 我希望该绘图的大小与父容器的一部分成比例 除非将其放入层次结构上方的滚动视图中 否则效果很好 从屏幕截图中可以看出 堆栈内部的声音正如预期的那样最大 但是 当您放入滚动视图时 几何读取器的大小会折叠到接近
  • ScrollView 内的 SwiftUI 列表

    我想将列表放在 ScrollView 中 以便可以一起滚动列表行和标题 但我发现 ScrollView 中的 List 不起作用 它什么也没显示 我应该同时使用它们 我应该使用 ScrollView 这样当我滚动行时 我可以使标题 图像或文
  • SwiftUI NavigationView 从其内部开始

    因此 我在页面视图样式的 TabView 中嵌入了一个 NavigationView 首次加载时 NavigationView 将在其内部启动 然后重新加载后即可正常显示 我不确定是什么原因造成的 我制作了一个 GIF 来更好地说明问题 这
  • 在 SwiftUI 中,如何在 UIView 内部或作为 UIView 使用 UIHostingController?

    另一个问题标题可以是 如何将 UIHostingController 的视图添加为 UIView 的子视图 我正在创建一个新的 UI 组件 并且很乐意尝试 SwiftUI 下图是当前的视图结构 UIView 是我现在正在使用的 右上 Swi
  • 使 Picker 与其他 BinaryInteger 类型兼容

    Picker仅当与以下一起使用时才能正常工作Int 当使用任何其他类型的BinaryInteger它根本不更新选择 为了解决这个问题 我想做一个CompatilibityPicker但我必须承认我的理解Binding实际上工作给我带来了很多
  • 更改 RealityKit 中 AnchorEntity 的旋转

    我在放置对象 3 秒后将 3d 对象放置到 ARViewController 中 然后我想将对象旋转 90 度 arView scene addAnchor anchorEntity DispatchQueue main asyncAfte
  • SwiftUI - 如何调整 PickerView 的大小?

    如何在 SwiftUI 中调整选择器视图的大小 我需要更改它占用的宽度 我下面的代码只是一个简单的视图 里面有一个选择器 更改宽度参数不会更改选取器视图的宽度 struct CalibrationBar View State var ton
  • 在 SwiftUI 中折叠 doubleColumn NavigationView 详细信息,就像在 UISplitViewController 上折叠一样?

    因此 当我在 SwiftUI 中创建列表时 我可以 免费 获得主从拆分视图 例如 import SwiftUI struct ContentView View var people Angela Juan Yeji var body som
  • 如何从 ContentView 外部显示 SwiftUI 警报?

    我正在构建 Swift 应用程序 并试图找出如何显示警报 我有一个单独的 swift 文件正在执行一些计算 并且在某些条件下我希望它向用户显示警报 基本上告诉他们出了问题 然而 我见过的大多数例子都要求警报在ContentView或以其他方
  • iOS 14 无效的框架尺寸(负或非有限)

    我的应用程序使用 GeometryReader 和一些填充来设置 NavigationView 内的视图框架尺寸 从 iOS 14 开始 我收到以下错误消息 框架尺寸无效 负或非有限 这是一些要测试的示例代码 import SwiftUI
  • SwiftUI 中的多行文本视图[重复]

    这个问题在这里已经有答案了 如何设置Text查看以多行显示文本 默认情况下为 1 行 struct ContentView View var body some View Text Lorem ipsum dolor sit amet co
  • 在 macOS 上的 SwiftUI 中将颜色从源拖放到目标

    如何将颜色从源拖放到目的地并保留它 我目前的代码可以临时执行此操作 从源拖动时更改目标的颜色 但在鼠标松开时它会很快变回原样 那么 如何才能使颜色更改保持在鼠标悬停在特定单元格上的状态 并且能够在将来将鼠标悬停在该特定单元格上拖动时再次更改
  • 如何迁移到新的 SwiftUI 应用协议?

    我正在开发一个 SwiftUI 应用程序 该应用程序仍然具有场景 应用程序委托文件 并希望将其迁移到新的 SwiftUI 应用程序协议 这只是删除场景 应用程序委托文件 然后将我的 ContentView 在我的例子中为初始视图 添加到 m
  • 如何使用 SwiftUI 动态添加联系人等文本字段?

    I have a form where I d like the user to add any amount of promo codes The closest native example of this is in the Cont
  • SwiftUI:如何使用 @Binding 变量实现自定义 init

    我正在制作金钱输入屏幕 我需要实施自定义init根据初始化量设置状态变量 我认为以下方法会起作用 struct AmountView View Binding var amount Double State var includeDecim
  • iOS:如何将视图从登录切换到主要内容 SwiftUi

    首先 我对 iOS 开发和 Swift 非常陌生 从 PHP 来到这里已经两周了 我正在构建一个简单的应用程序 当用户登录 已确认 时 视图切换到主要内容 所以目前我有一个 LoginView 这是首先加载的 我想知道当我单击 LoginV
  • 自定义导航栏 SwiftUI 上仅可见后退按钮

    我在之前的视图之一中有一个 NavigationView 但是 如果我不向此视图添加另一个导航视图 我只会看到带有默认 当我将导航视图添加到该视图时 我有双导航栏 一个带有 我创建的一个 找不到摆脱这个问题的方法 struct MainPa
  • 如何避免父ScrollView裁剪内部ScrollView?

    When a horizontal child ScrollView is nested inside a vertical parent ScrollView internal element is clipped by parent S
  • Xcode 11 PDF 图像资源“保留矢量数据”在 SwiftUI 中不起作用?

    我正在尝试在 Xcode 11 中使用 SwiftUI 的应用程序中使用 Single Scale 来使用基于矢量的 PDF 图像 但当我放大图像尺寸时 图像总是看起来模糊 我在 Xcode 11 的 UIKit 中没有遇到任何问题 我创建

随机推荐

  • 删除数据库中的行后如何重新排序ID

    我正在使用 C 来制作具有 sql 数据库的程序 在数据库中我有一个名为Workers 它有一个自动增量和主键ID column 当我删除一条记录时 ID 之间会出现间隙 删除记录后如何重新排序 ID UPDATE 我要做的就是找到记录后将
  • npm package.json bin 无法在 Windows 上运行

    我正在尝试通过 package json 启动我的 cli 工具bin财产 我有以下内容 name mycli bin bin mycli 当我在包路径中打开 cmd 并输入 mycli 时 它表示该命令无法识别 我应该运行 npm 命令吗
  • C# PrimaryContext 未找到网络路径

    我正在尝试使用 PrimaryContext 来检查远程计算机上是否存在本地用户组 我遇到问题PrincipalContext PrincipalContext ctx new PrincipalContext ContextType Ma
  • 如何保护 iOS 应用程序免受任何操作系统攻击(在越狱设备上)

    我希望保护我的应用程序数据 以防任何操作系统攻击或越狱 iOS 设备上的未经授权的访问 在这种情况下 有什么方法可以检测此类威胁并保护应用程序数据 虽然我同意 jrturton 的说法 但如果您有想要保护的关键数据免受流氓应用程序 而不是用
  • 是否可以为枚举类枚举器添加别名?

    给定一个 C 11 枚举类 嵌套在几个长且丑陋的命名空间中 namespace long and ugly enum class colour red green blue 枚举值可以使用别名吗 使用 clang 3 5 可以执行以下操作
  • 当 URL 包含片段时,iframe 会导致父元素在 Google Chrome 上向上滚动

    在 Google Chrome 37 0 2062 122 OSX Windows 上 具有包含片段的 URL 的 iframe 会导致父元素向上滚动 它只发生在 Chrome 中 在 Safari 和 Firefox 中测试 这是显示问题
  • Redis 会话序列化器 3.2 和 4.2 之间不匹配

    我有一个基于 Spring Cloud 的应用程序在多个 spring boot 服务器上运行 所有服务器使用 EnableRedisHttpSession共享相同的Spring Session 我现在想将第三方小部件集成到我的应用程序中
  • Android 中多个蓝牙连接的自定义 UUID

    我有一个 Android 设备作为服务器连接到多个蓝牙 Android 客户端 我了解 UUID 的概念以及它的独特之处 我的问题是 我可以为连接到我的服务器的所有客户端使用相同的 UUID 吗 如果没有 我如何以编程方式为我的客户端生成
  • C# 7 表达式主体构造函数

    在 C 7 中 如何使用 2 个参数编写这样的表达式主体构造函数 public Person string name int age Name name Age age 一种方法是使用元组和解构来允许在一个表达式中进行多次赋值 public
  • 为什么 Visual C++ 6 抱怨私有析构函数

    以下代码适用于 Visual C 2008 但是 当涉及 Visual C 6 时 我收到以下错误 我可以知道为什么 以及如何修复错误 但仍然使析构函数保持私有状态 class X public static X instance stat
  • Rails HABTM 设置、模型对象和 join_table 插入控制器设置

    我有以下设置 1 个产品有多个 Product types 许多 Product types 有 1 种类型 根据我对文档的理解 HABTM 关系 我的模型是 class Product lt ApplicationRecord has a
  • QWebEngineView 在 load() 或 page() 方法上崩溃

    我正在致力于将 Qt 5 5 QWebView 项目移植到 Qt 5 6 测试版 QWebEngine 我已经阅读了移植指南here https wiki qt io Porting from QtWebKit to QtWebEngine
  • 使用C#,如何获取我的机器是64位还是32位?

    我想使用 C 创建一个方法来返回我的机器是 64 位还是 32 位 有谁知道该怎么做吗 系统 环境 Is64BitOperatingSystem http msdn microsoft com en us library system en
  • 在 Django 模板中通过键访问字典

    我正在将字典从我的视图传递到模板 所以 key1 value1 key2 value2 传入并循环键 值对很好 但是我还没有找到从特定键直接在视图中访问的优雅解决方案 例如 key1 例如 bu json items key1 我可以使用一
  • 实体框架 - 有条件地包含相关实体

    我维护一个 API 根据对人员列表的请求 根据请求返回不同的结果集 例如 一些 API 客户端想要获取人员列表及其交互列表 其他 API 客户端则想要人员及其元数据列表 所有这些都可以在返回人员的 API 方法请求中指定 这似乎不起作用 u
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • 比较 R 中的两个字符向量

    我有两个 ID 字符向量 我想比较这两个字符向量 特别是我对以下数字感兴趣 A和B各有多少个ID 有多少个ID在A中但不在B中 有多少个ID在B但不在A 我还想画维恩图 以下是一些可以尝试的基础知识 gt A c Dog Cat Mouse
  • 在同一行使用变量时的预自增运算符

    我相信我想做的事情可能是有效的 因为它在两种情况下都用逗号分隔 不是典型的作业 但我不确定并且搜索不会显示有关这两个的任何内容具体情况 在这两种情况下 我都使用变量作为两个并行数组的索引 int a 3 10 20 30 int b 3 2
  • 如何在现有裸存储库中创建引用日志信息

    您可能已经知道 默认情况下 git 不会为新的裸存储库启用引用日志更新 问题是 我有一个很长的历史存储库 但它是在我设置 logAllRefUpdates 标志之前创建的 现在我希望其他应用程序可以使用该信息 如何通过对现有存储库进行最少的
  • SwiftUI 关闭从 NavigationView 呈现的模式表(Xcode Beta 5)

    我试图忽略通过呈现的模态视图 sheet在 SwiftUI 中 由Button这是在一个NavigationViews navigationBarItems 如下所示 struct ModalView View Environment pr