在 SwiftUI 的 Picker 中添加新元素

2024-01-10

我找不到如何在 SwiftUI 的选择器视图中添加某些元素,在我的示例中,我想在单击按钮时在选择器中添加“Z”值。

struct ContentView: View {
@State var values: [String] = ["A", "B", "C"]

@State private var selectedValue = 0

var body: some View {
    NavigationView {
        Form {
            Section {
                Picker(selection: $selectedValue, label: Text("Value")) {
                    ForEach(0 ..< values.count) {
                        Text(self.values[$0])

                    }
                }
            }
            Button(action: {
                self.values.append("Z")
            }, label: {
                Text("Add")
            })
        }.navigationBarTitle("Select a value")

    }
}

当我单击按钮时,Z 将添加到“值”数组中,但选择器不会刷新。

谢谢 :)


您必须通过以下方式识别价值观id让 SwiftUI 能够检测到它的变化:

ForEach(0 ..< self.values.count, id: \.self) {
    Text(self.values[$0])
}

这样 SwiftUI 就知道它应该在更改时重建选择器。

Tip:您可以像这样直接使用元素:

ForEach(values, id: \.self) {
    Text($0)
}

不要忘记更改selectedValue与数据源匹配的类型和值IF您遵循了上面的提示:

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

在 SwiftUI 的 Picker 中添加新元素 的相关文章

  • 如何使用 UIImagePickerController CropRect

    我刚刚找到了一种方法来更改裁剪框的矩形 该裁剪框在捕获图像后出现UIImagePickerViewController 这可以在以下帮助下完成UIImagePickerControllerCropRect 但我不知道如何使用它 最初的裁剪框
  • Xcode:如何创建出现在另一个视图控制器中的弹出视图控制器

    基本上我想做的是 假设我有一个名为 V1 的视图控制器 它内部有一个常规视图和一个按钮 现在 当您点击该按钮时 我希望该按钮创建一个操作 在同一视图控制器 V1 中弹出另一个名为 V2 的视图控制器 V2 的尺寸会缩小一些 使其不会填满整个
  • 添加滑动删除UITableViewCell

    我正在制作一个清单应用程序UITableView 我想知道如何添加滑动删除UITableViewCell 这是我的 ViewController swift import UIKit class ViewController UIViewC
  • iTunes connect - 在哪里可以查看 TestFlight 版本的崩溃报告?

    我有一个应用程序正在 iTunes 连接上通过 TestFlight 进行测试 其中一台测试设备不断崩溃 我很确定 itunes connect 上应该有崩溃日志 但我在 testflight 版本中找不到任何崩溃日志 有谁知道在哪里可以找
  • 一段时间后 NSTimer 停止在后台触发

    嘿 我正在开发一个应用程序 其中我必须每 30 秒调用一次 API 所以我为它创建了 NSTimer 但是当我的应用程序进入后台时 计时器会在 3 4 分钟后停止触发 所以它只能在后台运行 3 4 分钟 但之后就不再运行了 我如何修改我的代
  • 在 iOS 中保存加密密钥的安全方法

    在我的 iOS4 应用程序中 我在多个地方使用 AES 加密 整个应用程序必须非常安全 为了做到这一点 我必须在这个应用程序中硬编码几个密钥 然后当我需要加密某些东西时随机选择这些密钥 我的问题是如何存储这些私钥 使用硬编码它们是否安全NS
  • 通过 URL 中的 ID 进行 RestKit 关系映射

    假设我有一个 APIusers 1 items返回一个列表items为了userID 为 1 假设API响应如下 items id 1 description Some item 请注意 响应不包含user id用于关系映射 RestKit
  • iOS 11 文件提供程序扩展中的项目

    我有一个带有文件提供程序扩展名的应用程序 我尝试使用此方法为 ios 11 的新文件应用程序提供支持link https developer apple com documentation fileprovider content and
  • 关闭所有 React Native 输入上的 autoCapitalize (iOS)

    我的大部分输入仅在 iOS 上自动大写 我知道有自动大写 https facebook github io react native docs textinput html autocapitalize我可以在每个输入上将其设置为 fals
  • 使用音频单元录制我的 iPhone 应用程序播放的声音

    我今天有很多有趣的事情iOS 和音频单元并发现了很多有用的资源 包括在内 首先 我对某些事情感到困惑 是否真的有必要创建一个音频图 with 混合器单元录制应用程序播放的声音 或者播放声音就足够了ObjectAL https github
  • [UIScreen mainScreen].bounds 与 [UIApplcation sharedApplication].keyWindow.bounds?

    我认为我想覆盖整个屏幕 我想将其框架设置为覆盖整个屏幕 浏览堆栈溢出 我发现设置视图框架覆盖屏幕的两种不同方法 UIScreen mainScreen bounds UIApplcation sharedApplication keyWin
  • 创建 Android 智能应用横幅

    Android 设备有类似 iOS 6 智能应用横幅的解决方案吗 这是智能应用横幅的代码 从 Chrome 44 Beta 开始 您可以在 Android 版 Chrome 中推送您的应用程序 您网站上的本机应用程序安装横幅 请看下面的答案
  • 如何捕获 UITextField 文本的变化?

    我查看了所有类似的问题 它们与我所问的不同 我需要捕捉 UITextField 中实际文本的变化 而不仅仅是编辑状态 当视图加载时 它将成为第一响应者 我需要知道何时输入文本 以便我可以在导航栏中启用 下一步 如果可以的话请帮助我 这确实阻
  • Swiftui Binding 操作尝试每帧更新多次

    我在调试文本字段输入的问题时遇到问题 信息 MacOs 蒙特利版本 12 0 Beta 21A5284e Xcode 13 0 beta 3 13A5192j 实体手机IOS 15 0 19A297e 问题说明 当我尝试输入绑定到视图模型的
  • 如何在WebView中隐藏滚动条?

    我切换到WKWebView因为UIWeb视图Apple 不再建议使用 使用以下代码从 WebView 中的容器加载 HTML 文件 let webview myWKWebViewClass webview for Bundle main f
  • ios 如何为文本字段添加底部边框和侧面设计

    我想添加底部边框 如下图所示 我已成功添加底线 但我没有得到侧面小线 这是我的代码 CALayer border CALayer layer CGFloat borderWidth 1 border borderColor UIColor
  • 如何按月对获取的日期进行分组

    我将数据插入到日期类型的核心数据中 但是当我尝试从数据库中获取数据时 我无法按月对它们进行分组 您可以找到我尝试解决方案的代码 但它不起作用 let groupedDict Dictionary grouping self lessons
  • 如何正确删除 SFSafariViewController 作为子视图控制器?

    我正在使用提供的技术这个答案 https stackoverflow com a 35356986 830098在 SFSafariViewController 中预加载一些 URL 如下所示 addChildViewController
  • 验证 iOS 应用程序时出错

    我正在尝试发布 iOS 应用程序 但是当我尝试验证我的构建时收到以下错误 Nib file Main iPad nib was not found Please ensure the specified file is included i
  • 如何修复 iOS 11 和 macOS V10.12 Safari 上损坏的变换原点?

    我正在尝试使用 svg 来实现 CSS 动画 我期望 2 个 svg 盒子正在旋转 旋转 transform origin center center 360度 看起来它在 Chrome 和 Firefox 上的表现符合我的预期 但在 ma

随机推荐

  • Python 的 argparse 可以像 gnu getopt 一样排列参数顺序吗?

    GNU getopt 和使用它的命令行工具允许选项和参数交错 称为排列选项 请参阅http www gnu org software libc manual html node Using Getopt html Using Getopt
  • 如何在序列最后一次出现时分割字符串

    目标 具有内置分隔符的字符串应拆分为一个 int 和另一个字符串 如果分隔符序列 出现多次 则字符串应始终拼接在最后一个 是否有类似 C 中的 string lastIndexOf 之类的运算符 这就是我的解析器的样子 func parse
  • 如何让 Clang 忽略特定块中的特定警告?

    我正在检查带有类型特征的数值范围 无符号类型会生成警告 Comparison of unsigned expression gt 0 is always true 如何禁用特定代码范围内的某些警告 我用的是海湾合作委员会风格 pragma与
  • 如何将AppBarLayout的高度设置为0

    我的布局文件如下
  • 如何使用 C++ 在 WinUI 3 中获取页面上的主窗口句柄

    我正在使用 C 开发 WinUI 3 演示 我想要一个主窗口处理程序或本机窗口处理程序来打开一个Picker在一个Page 我正在使用的代码块工作正常Window但它不起作用Page auto windowNative this gt tr
  • 上传ipa到googledrive

    我的要求是 如果我在谷歌驱动器或共享点中上传 ipa 文件 那么测试人员应该能够从驱动器将 ipa 安装到他的设备中 而无需使用 iTunes 是否可以 我可以通过在服务器中部署 ipa plist 和 index html 文件来实现这一
  • Git 在日志中显示所有分支(但不显示存储)

    我有一个 Git 别名 它扩展为 git log graph oneline all decorate 根据man git log有几个可疑的选项 not and branches 但我无法让它正常工作 我应该如何编辑它来隐藏隐藏的东西 F
  • 打印未从页面顶部边缘开始

    我正在尝试打印一些strings using Graphicss DrawString 我已将边距设置为printdocument但不从页面的原点开始 我已经设定margins to 0 0 0 0 但不知怎的 它打印在页面顶部边缘下方半厘
  • 现在无法查询选项卡(用户可能正在拖动选项卡)

    我有一个 chrome 扩展 可以通过以下代码访问活动选项卡 chrome tabs query active true result gt 这一直工作得非常好 直到最近的更新 我不再能够查询该选项卡 并在控制台中打印以下错误 Tabs c
  • Cocoa OSX:如何使图像可拖动

    我有一个带有图像的面板 我想让它可以通过 拖动 将文件 不是图像 图像仅作为文件的图标 复制到文件夹中应用程序外部的图像以及接受拖入其中的文件的任何其他应用程序 例如 Finder 我怎样才能做到这一点 我实施了NSDraggingSour
  • iOS7 中固定页眉和页脚的网页滚动问题

    这对我来说很难解释 但我会尝试 首先 我的网页在 iOS6 x Android W7 中的 mobilebrowser 以及桌面浏览器 IE9 Safari 和 Chrome 上运行 该问题发生在iOS7中的苹果移动Safari浏览器中 我
  • 如何在cordova android应用程序中使用proguard

    我有一个完成的 cordova 项目 我想使用 proguard 来防止其他人对 APK 进行逆向工程 但我在这方面遇到了困难 In http developer android com tools help proguard html h
  • 无法执行简单的导航到查看和返回 SwiftUI 导航栏按钮

    我正在尝试使用 SwiftUI 进行从一个视图到另一个视图的简单导航 一个栏按钮项目 我尝试了三种不同的方法来调用新视图 在正文视图中使用 Button 可以 但在导航中使用 NavigationBarItems bar 以两种不同的方式失
  • 如何在android中创建自定义通知

    我需要创建一个自定义通知而不是 android 中的默认通知 当前通知有一个图标 标题和消息 如下图所示 我想要它像这样定制 我怎样才能做到这一点 通知视图 普通视图 普通视图中的通知出现在高度高达 64 dp 的区域中 即使您创建具有大视
  • 如何将两个函数传递给react中的onClick事件

    我想将两个函数传递给onClick事件是handleSubmit and handleDelete to the HomePage js来自HomeItem js 这是我的错误 No duplicate props allowed reac
  • C# - 通过相同的方法传递不同类型的对象

    原始问题 所以我有这 3 个对象 public class obj1 public int Id get set public string Name get set public class obj2 public int AccNum
  • Android 版 Google 登录:无法解析 RC_SIGN_IN

    我正在尝试通过移动应用程序通过后端服务器进行身份验证 我正在关注这个文档 https developers google com identity sign in android sign in https developers googl
  • 使用 Google Apps 脚本标记 Gmail 邮件(不是整个线程)

    是否可以搜索带有 应用程序脚本队列 标签的消息并为这些特定消息 而不是整个线程 提供新标签 当我使用 GmailApp search label Apps script queue 时 我收到请求的邮件 但是当我为这些邮件分配新标签时 该线
  • 如何包含动态时间?

    我正在尝试提取有关时间段的日志 当没有时 下面的程序运行得很好 给出小时数 并提取该范围内的日志 但现在我还包括动态给出的开始和结束 即说之间8 am to 8pm or 6am to 8am等等 我怎样才能得到它 当前程序中的任何编辑也可
  • 在 SwiftUI 的 Picker 中添加新元素

    我找不到如何在 SwiftUI 的选择器视图中添加某些元素 在我的示例中 我想在单击按钮时在选择器中添加 Z 值 struct ContentView View State var values String A B C State pri