问题标签 [swiftui-form]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
64 浏览

xcode - (SWIFTUI) 从表单中读取数据,然后在不同视图的列表中显示数据

我的目标是,当用户在一个视图(添加新任务)上填写表单并按下“创建新任务”按钮时,表单中的数据将转移到另一个视图(查看作业)并成为列表中的新项目。此列表项将包含所有 5 个数据变量,并且应该是可点击的。

但是,我在连接视图之间的属性时遇到了麻烦,这是我添加分配页面的代码:

首先,按钮没有移动到下一个视图,我收到一条警告说'ViewAssignment'初始化程序的结果未使用'。而且,在另一个视图中连接的属性,文本仍然没有出现。这是另一个视图:

我不知道我应该使用@State 还是@Published,所以我对要查找的错误有点困惑。即使我在另一个视图的表单中输入文本,屏幕上也不会弹出任何文本。

任何帮助将不胜感激,即使有人可以向我指出教程的方向。

0 投票
1 回答
526 浏览

xcode - 数据追加到数组后,Swiftui视图不更新列表

我有三个文件:AddAssignment、ViewAssignment 和 Task。单击 AddAssignment.swift 上的一个按钮,该按钮成功地将表单数据附加到 Task.swift 内部的一个数组中。

但是,在文件 AddAssignment.swift 中,该数组中的每个项目都通过循环传递,视图无法使用新附加的数据进行更新。

AddAssignment.swift

Task.swift(逻辑)

ViewAssignment.swift (我的错误发生的地方:)

0 投票
1 回答
272 浏览

swiftui - SwiftUI 表单部分标题和行的格式不正确

以下 SwiftUI 表单将错误地呈现该部分的标题和内容。部分标题应大写并具有背景颜色。这些行应该像一个列表一样被标记,这意味着它们应该有列表分隔符和填充。

结果:

不正确地呈现节标题和行

0 投票
0 回答
240 浏览

ios - 键盘附件视图覆盖的 SwiftUI 工具栏

您好,我在 Xcode 12.4 (iOS 14) 中使用 SwiftUI 解决了一个棘手的问题:假设我有一个Form包含许多部分和TextEditors 的表单,这个表单有一个.toolbar带有一些内容的修饰符(底部栏)(在这种情况下是按钮)。所有这些都包裹在NavigationView. 一旦用户点击其中一个TextEditor,底部工具栏就会被键盘的系统附件视图覆盖。请注意,我根本不修改安全区域。任何人都知道下面的代码有什么问题?

在此处输入图像描述

0 投票
0 回答
105 浏览

swiftui - SwiftUI,iOS 14,Form{ TextEditor() } 中的键盘避免

我在一个简单的Form{}. 自动键盘回避不起作用。下面是一个带有TextEditor(). 运行时,键盘位于输入字段的顶部,要求用户滚动视图以便输入位置。删除Form{}和自动键盘避免作品。我是否遗漏了我需要在 Form{} 中执行的操作才能获得此行为?

0 投票
1 回答
82 浏览

swiftui - NavigationLink 子项中的“表单”选择器的 NavigationView 问题

我在尝试将 Picker 放入 NavigationLink 子结构时遇到了麻烦。 MyProblem 正如您在某些转换(主页 -> 测试页面 -> 选择器)并选择任何选择器所需选项后看到的那样,它会将我导航回测试页面,但选择器本身保持灰色。我知道它可以通过NavigationView{}在 NavigationLink 子中添加来解决,但它会导致另一个问题,因为我已经NavigationView{}在顶级祖先中。 另一个问题_1 另一个问题 _2

代码:

更新: 发现我的控制台试图告诉我:“返回一个空的、断开连接的 UIBarButtonItem 以履行非空合同”我不知道这到底是什么意思,但我发现了奇怪的解决方案:

Apple 文档没有说明任何内容,但如果您这样设置:

所有的问题都会过去。请解释一下它是如何工作的,我真的很坚持。

0 投票
3 回答
201 浏览

swift - Spacer 不适用于 VStack 中的 Form

我试图在我的 TabBar 正上方的表单内容下方获得一个圆圈。我可以通过使用来强迫它,.frame()但我不是它的忠实粉丝。似乎应该有一种更简单的方法来将其与底部对齐。

我的理解是Spacer()应该将表单推向底部并将圆圈留在顶部,但似乎并非如此。

0 投票
1 回答
46 浏览

ios - 使用表单时视图之间出现随机白线

我已经搞砸了很长一段时间了,我一生都无法弄清楚这条小白线是从哪里来的。我尝试设置.padding(0)和使用 a.frame()但似乎没有任何效果可以删除它。如果我删除表单并使用类似的东西list,它会消失,但我喜欢Form. 如果我在列表中添加插入外观的样式,问题就会回来。

0 投票
1 回答
379 浏览

swift - 在 SwiftUI Picker 列表上使用部分标题?

我正在尝试使用 SwiftUI 和Picker()

但是当我尝试使用时,Section(header: )我得到以下信息:

0 投票
0 回答
264 浏览

swiftui - 让 SwiftUI 将多视图表单返回到“home/root view”“Pop To Root”

我正在尝试在 SwiftUI 中创建一个多页表单。

我发现的问题是,一旦表格完成(或刚刚取消),似乎没有任何明确的方法能够跳回开始的“根”。

我知道回复(以及一些我不想使用的第三方库)在

SwiftUI:如何在此处弹出到 Root 视图和其他视图。

我的一些代码是基于它们的,但有些是旧答案,到处都是,似乎不起作用。

请注意,它应该适用于任何数量的表单页面。大多数答案假设有几页。

现在是 2021 年 9 月,我正在使用 XCode 12.. 和 Swift 5.. 和 iOS 14...

它大致似乎正在工作,但我遇到的第一个问题是当第一个表单输入页面打开时,任何文本输入字段都输入了内容,它会立即跳回根目录。

我可以创建一个以编程方式交换页面的视图,但这似乎有点不合时宜。(这是我目前正在开发的。即使是 Apple 员工似乎也无法对这个问题给出一个好的答案,想想你必须付给他们的所有钱,只是为了编写代码......)。

执行此操作的最新最佳实践方法是什么?

我试图从我自己的测试中创建以下样板代码: