SwiftUI ForEach 刷新使视图弹出

2023-12-05

我有这样的事情:


import SwiftUI

struct Overview: View {

    @ObservedObject var firstArray = FirstArray()

    var body: some View {
        Group{
            ScrollView(){
                ForEach(self.firstArray.array, id: \.self){ array in
                    SubView(array: array)
                }
                Spacer()
            }
        }.navigationBarTitle("Overview")
    }
}


struct SubView: View {

    @State var array

    var body: some View {
           NavigationLink(destination: DetailInfo(array: array){
                Image(systemName: "pencil.circle").resizable().frame(width: 30, height: 30)
            }
    }.navigationBarTitle("SubView")
}


struct DetailInfo: View {

    @State var array

    var body: some View {
        List(){
            ForEach(0..<self. array.count, id: \.self){item in
                Text(item)
            }.onDelete(perform: deleteItem)
        }
    }

    func deleteItem(at offsets: IndexSet) {
       self.array.remove(atOffsets: offsets)
    }

}

当我删除一个项目时DetailInfo它让我回到Overview。这是为什么?是不是因为ForEach中的“清爽”Overview。我怎样才能留在DetailInfo?当省略id: \.self in Overview它没有表现出这种行为。


是的,这是因为所有内容都会刷新,因此详细视图和导航链接将不再存在,因此应用程序“跳”回根视图

“正常”解决方案是:不要删除详细视图中的项目,而是删除列表中的项目 - 那么就没有问题,您也可以从 SwiftUI 免费获得漂亮的动画

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

SwiftUI ForEach 刷新使视图弹出 的相关文章

  • SwiftUI:如何使用 @Binding 变量实现自定义 init

    我正在制作金钱输入屏幕 我需要实施自定义init根据初始化量设置状态变量 我认为以下方法会起作用 struct AmountView View Binding var amount Double State var includeDecim
  • 如何在 Swift 中按换行符分割字符串

    我有一个从文本文件中获得的字符串 文本文件 Line 1 Line 2 Line 3 我想将其转换为数组 每行一个数组元素 Line 1 Line 2 Line 3 根据文件的保存方式 字符串可能采用以下形式之一 string Line 1
  • iOS:如何将视图从登录切换到主要内容 SwiftUi

    首先 我对 iOS 开发和 Swift 非常陌生 从 PHP 来到这里已经两周了 我正在构建一个简单的应用程序 当用户登录 已确认 时 视图切换到主要内容 所以目前我有一个 LoginView 这是首先加载的 我想知道当我单击 LoginV
  • 未调用NotificationServiceExtension

    iOS 10发布后 我使用NotificationServiceExtension用于图像通知 效果很好 但最近我发现有些不对劲 UNNotificationServiceExtension 中的代码不再调用 我不确定原因 所以我创建了一个
  • 使用 Swift 创建随机 CGPoint

    所以 我正在尝试开发一个用 Swift 编写的简单游戏 但我在做一件非常简单的事情时遇到了困难 我无法创建随机 CGPoint 使用 arc4random 时 会出现编译器错误 告诉我无法在 CGPoint 中使用 Int32 那么 有什么
  • 快速转换:错误 - CGPathAddArc

    我正在尝试将我的 Swift 2 代码转换为最新语法 Swift 3 我收到以下错误 Nil 与预期的参数类型 UnsafePointer 不兼容 斯威夫特2代码 CGPathAddArc 路径 nil overlayView frame
  • 如何从Vuforia GL矩阵计算相机位置?

    我计算了 a 的相机位置SCNScene这是在 Vuforia 中渲染的 然而 物体并没有固定在标记上 而是在移动时跳跃 场景中的立方体仅以正交方式出现 无论设备如何围绕侧面移动都无法看到 相机位置是根据每一帧计算的 Get model v
  • 是否可以使 MGLPolyLines 可选择? - 斯威夫特,MapBox

    是否可以使 MGLPolyLine 可触摸 可选择 具有用户交互 在我的项目中 用户需要触摸折线 有这个问题 https stackoverflow com questions 43683846 how to make a mglpolyl
  • 检测 AVPlayerViewController 是否正在播放视频或正在缓冲并向播放器添加覆盖

    我必须检测视频是否处于播放模式或缓冲模式 我正在从 URL 加载视频 我已经尝试了下面的代码 我可以在视频开始播放后进行跟踪 但不能在视频处于缓冲状态时进行跟踪 另外 我想在我的播放器中添加覆盖视图 我尝试在 AVPlayer 中添加叠加层
  • 从呈现的视图控制器访问呈现的视图控制器?

    我有一个视图控制器 包含我的菜单 显示在另一个视图控制器 我的应用程序 之上 我需要从呈现的视图控制器 我的菜单 访问呈现的视图控制器 在我的菜单下方 例如访问某些变量或使呈现的视图控制器执行其segues之一 但是 我就是不知道该怎么做
  • 自定义导航栏 SwiftUI 上仅可见后退按钮

    我在之前的视图之一中有一个 NavigationView 但是 如果我不向此视图添加另一个导航视图 我只会看到带有默认 当我将导航视图添加到该视图时 我有双导航栏 一个带有 我创建的一个 找不到摆脱这个问题的方法 struct MainPa
  • 快速将数据从 tableviewcontroller 传递到另一个 tableviewcontroller

    我有一个正在创建的表单 该表单填充有用户输入的文本字段 回答完所有问题后 会弹出一个保存按钮 我在使此表视图控制器将数据传递到新的表视图控制器时遇到问题 我被困住了 不知道该怎么做 import UIKit class TableViewC
  • 如何在 SKAction 中途反转精灵所遵循的路径方向?

    我有一个 SKSpriteNode 它使用 SKAction 沿着圆形路径移动 create the path our sprite will travel along let circlePath CGPathCreateWithElli
  • XC测试元组

    我正在尝试构建一个单元测试 如下所示 region is a Double Double tuple XCTAssertEqual region 0 0 200 0 但 Xcode 给我一个错误 Cannot invoke XCTAsser
  • Swift 枚举内部是如何实现的?

    我最近问了一个问题C 中的通用枚举 结构 https stackoverflow com questions 68383728 if a uintptr t can be used to store both pointers and nu
  • SwiftUI 多个标签垂直对齐

    有很多解决方案可以尝试使用 VStack 内的 HStack 在 SwiftUI 中对齐多个图像和文本 有什么办法可以实现多个标签吗 添加到列表中时 多个标签会自动垂直对齐 当它们嵌入到 VStack 中时 是否有一种简单的方法可以做到这一
  • 使用导航控制器在 Storyboard 中呈现视图控制器 - Swift

    我目前在下面的新故事板中显示了一个 viewController var storyboard UIStoryboard UIStoryboard name AccountStoryboard bundle nil var vc Welco
  • 获取 Swift 子目录中资源的所有 URL

    我正在尝试为 iOS 应用程序的子目录中的所有资源创建 URL 数组 我似乎无法到达正确的路径 即使我不知道名称 我也希望能够检索 URL 即我不想将文件名硬编码到代码中 Below is a screen shot of the hier
  • 即时将图像添加到 AR 资源以进行图像识别

    ARKit1 5介绍图像识别 在代码中 您必须创建一组参考图像 如下所示 let referenceImages ARReferenceImage referenceImages inGroupNamed AR Resources bund
  • 将 Facebook 图片 URL 上传到 Firebase 存储

    我正在尝试将用户的 Facebook 个人资料图片上传到 Firebase 存储 let dictionary result as NSDictionary let data dictionary objectForKey data let

随机推荐

  • 突出显示行中特定单元格的值与前一行的值不同的单元格

    我想应用一些条件格式 将一行的每个单元格与前一行的单元格进行比较 如果不同 则该行会突出显示 我使用的是 Excel 2007 这可能吗 如果是这样 有人可以向我提供将其应用于整个数据表的步骤吗 对的 这是可能的 这在以前版本的 Excel
  • 我无法理解这段使用递归产生排列的代码

    def permute2 seq if not seq Shuffle any sequence generator yield seq Empty sequence else for i in range len seq rest seq
  • PHP £ 符号前有奇怪的字符?

    由于某种原因我得到了 76756687 当我在表单上的文本字段中输入 时出现奇怪的字符 正如您所怀疑的 这是一个字符编码问题 页面是否设置为使用 UTF 8 字符集 这种编码确实不会出错 此外 您可能希望在退出时对英镑符号进行实体编码 po
  • Gerrit 中缺少依赖项

    我对 Gerrit 进行了四处更改 每处都取决于之前的更改 当然 第一个除外 我已经放弃了第二和第三并回顾了第一和第四 由于first 不依赖于任何东西 Gerrit 设法自动合并它 现在 第四个 取决于废弃的第三个 是一个真正的问题 格里
  • Bootstrap 下拉菜单出现在其他元素后面 - IE7

    我正在使用 Bootstrap 2 3 1http twitter github io bootstrap index html 所以我使用他们的 下拉菜单 类来创建一些简单的快速使用下拉菜单 但由于某种原因IE7它们出现在我网站上的文本和
  • 使用neo4j客户端在动态查询中返回多值

    按照我问的问题 使用 neo4j 客户端构建动态查询 我得到了关于如何仅使用字符串动态返回值的答案 当我尝试使用语法从失败的查询中返回多个值时 我尝试了以下查询 var resQuery2 WebApiConfig GraphClient
  • a href 链接不可点击

    我正在构建的网站遇到问题 我有一个菜单 其中包含 2 个列表项链接 称为 默认 和 测试 但在 Firefox 中我无法单击它们 在 IE 中 它们有效 我认为这是页面上项目的 z index 问题 但我无法解决它
  • 如何在Python中修改dbf文件

    假设我在根目录下的一些文件夹中有不同数量的dbf文件 d myfolder dbf 文件的内容如下所示 Field1 11110481123 12150480021 我想添加一个字段 例如 Field1 仅包含值的最后 4 位Field2
  • 通过 Gmail 在 .NET 中发送电子邮件

    我没有依赖我的主机发送电子邮件 而是考虑使用我的主机发送电子邮件 Gmail帐户 这些电子邮件是发送给我在节目中演奏的乐队的个性化电子邮件 有可能做到吗 请务必使用System Net Mail 不是已弃用的System Web Mail
  • 如何在猫鼬中填充其他集合的子文档?

    ASchema new mongoose Schema name String B BSchema var BSchema new Schema name String var CSchema new Schema name String
  • 多个错误代码配置web.xml

    我想将所有错误定向到我的 Errorsevlet 而不明确指定所有代码 有什么办法可以这样做吗
  • Scala App Trait 和 main 内部如何工作?

    嗨 我是 Scala 新手 据我所知 在scala中创建入口点有两种方法 一种是用对象定义main方法 另一种是扩展App特征 我想知道如何App特质有效 所以我检查了来源AppTrait 但是里面充满了令人困惑的代码 该代码表示 该应用程
  • 验证 php 表单中的手机号码

    我想验证 10 位数字的手机号码 并在输入数据库时 添加前缀 0
  • 中国 Google 地图应使用哪个网址?

    我想加载谷歌地图 JavaScript API 并且我希望可以从内部访问它中国防火墙 Google 推荐 http maps google cn 但如果我使用它 对于世界其他地区的人来说可能会更慢 据我所知 中国的防火墙并没有阻止http
  • 如何确保某人在按下我网站上的“喜欢”按钮时已成功“喜欢”我的网站?

    我正在开发一个rails 3应用程序 它需要一个facebook 喜欢 按钮并显示点击它并完成喜欢过程 登录facebook等 的人的个人资料图片 由于其他原因 我的应用程序需要知道何时 current user已成功喜欢我的网站 例如 如
  • Perl 中如何检查文件是否存在?

    我有一个相对路径 base path input myMock TGZ myMock TGZ是位于输入文件夹中的文件名 文件名可以更改 但路径始终存储在 base path 我需要检查该文件是否存在于 base path 测试是否某物存在于
  • 隐藏具有相同类的所有 div(第一个除外)

    我有 10 个 属于同一类 div class c1 div div class c1 div div class c1 div div class c1 div div class c1 div div class c1 div div
  • MobileFirst OAuth 和注销

    我有一个访问两个适配器的测试应用程序 由引用领域的 SecurityTest 保护的 JavaScript 适配器 一个 Java 适配器 其方法受与同一领域对应的 OAuth 范围保护 如果我遵循这个顺序 一切都会按预期进行 尝试访问 J
  • 在 Windows 服务中模拟用户

    我正在尝试使用以本地系统帐户登录的服务来模拟 Windows 服务中的域用户 到目前为止 我只能通过记录服务并使用用户凭据设置进程来使其工作 如下所示 ProcessStartInfo startInfo new ProcessStartI
  • SwiftUI ForEach 刷新使视图弹出

    我有这样的事情 import SwiftUI struct Overview View ObservedObject var firstArray FirstArray var body some View Group ScrollView