问题标签 [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 投票
1 回答
256 浏览

firebase-realtime-database - 表单中的 SwiftUI 选择器 - 索引超出范围

当我尝试在 Text() 中显示选择器的选定数据时,会出现一个名为“索引超出范围”的错误。

错误消息的图像

但是,当我评论显示所选数据的 Text() 时,它工作正常。以下是表单中选择器的代码。

下面是我评论“Text(allVM[vmIndex])”时我的应用程序的图像

屏幕一

屏幕 2

下面是我用来从 firebase 检索数据并存储到数组中的代码。

*更改后我的代码:

0 投票
0 回答
247 浏览

swiftui - 无法点击Form中的NavigationLink(SwiftUI)

}

我想使用带部分的表单来构建我的列表,并且我还想要一些行单击以导航到另一个视图,但它不适用于我的代码。

更新完整代码,我可以在 Xcode12 SwiftUI Preview 中使用此代码,但不能在模拟器和 ture 设备中使用

最后,测试一下,我有一个带有 SettingView() 的 TabView,单个 SettingView 可以打开 NavigationLink 但在 TabView 中无法工作

0 投票
2 回答
1056 浏览

ios - SwiftUI中的表格,使用swiftUI像IOS设置一样定位用户图片

怎么把图片放到swiftUI的形式中,才能达到和附图一样的效果?

在此处输入图像描述

我尝试使用此代码,但无法正常工作:

如果我在图像之间使用垫片,我会得到另一条带有图像的白线。我希望我的图像具有灰色背景并像所附图片一样定位。

0 投票
1 回答
263 浏览

swiftui - 在 SwiftUI Picker 中为 NSManagedObject 设置默认值?

我正在使用PickerSwiftUI 从 Core Data 列表中进行选择NSManagedObject,并且无法让选择器显示默认值。选择后也不会设置新值。有没有办法让选择器显示默认值?

这是我的 NSManagedObject 属性设置的地方。

这就是我尝试使用它的地方。

0 投票
0 回答
162 浏览

date - CompactDatePickerStyle SwiftUI 中的部分范围问题

我在 SwiftUI(iOS 14)的表单中使用 DatePicker。默认情况下,我可以获得 CompactDataPickerStyle 日期选择器。选择器突出显示当前日期。它还允许选择以前的日期。现在,我使用“in”参数指定部分范围,以允许用户仅选择未来日期,如下所示:

日期选择器在打开时不显示当前月份,而是显示未来日期。

任何其他面临相同问题或对我们如何解决此问题有一些想法的人。

0 投票
2 回答
768 浏览

swiftui - 当键盘出现时,表单中的 SwiftUI DatePicker 会消失

我有一个 SwiftUI FormSection其中包含一个DatePicker. 默认情况下,DatePicker设置为具有 a datePickerStyleof CompactDatePickerStyle(),因为它位于 a 中Form

包含日期选择器的表单截图

点击 时DatePicker,会显示叠加层:

日期选择器覆盖的屏幕截图

可以通过DatePicker使用手势来修改时间,如以下视频所示:

通过手势修改日期选择器时间的视频

在下面的视频中,DatePicker通过键盘点击覆盖的时间来修改它会导致覆盖被解除:

尝试通过键盘输入修改日期选择器时间的视频

我还尝试将以下内容添加到DatePicker以允许内联日期操作,希望避免使用键盘:

但是,上述结果如下:

尝试使用键盘避免编辑日期的视频

我需要更改什么以允许DatePicker通过表单中的手势和键盘输入进行操作?

0 投票
1 回答
252 浏览

swift - 表单中的 SwiftUI 子视图

我想了解是否有可能在 SwiftUI 中的表单中本质上拥有一个表单来帮助进行代码抽象。我将在下面举一个简单的例子,所以说我们有最简单的形式

设置

基本上看起来像这样简单的模式

添加新表单

现在我想添加一个新的子表单,但我不希望它的逻辑使主表单视图复杂化。在这里您可以看到我已添加SubForm为新视图及其所有依赖项(忽略状态变量,它们只是为了确保 swift 不会抱怨。实际上,子表单可以链接到它想要的任何状态)

但现在表格看起来像这样:

乱七八糟的表格

如您所见,子表单本质上位于一个列表项中。这实际上会导致导航链接的可用性问题。

一个明显的问题是 Form 本质上是一个 List,而 List 不会展平VStacks甚至是其他Forms(想象一下子视图被包裹在 aForm而不是VStackit 中)。

但是,我真的很想保留 Form 提供的样式,但也想做这种逻辑分组。黄金标准如下所示:

表格应该是什么样子

你能推荐任何其他方式来实现这种抽象,同时保持一个可用的表单吗?

提前喝彩

0 投票
0 回答
79 浏览

swiftui - Form 和 List 两次渲染子视图

以下行为有点出乎意料。我有一个带有简单视图的表单,如下所示:

当表单呈现时,Text它出现两次,然后立即消失。尽管表单在输出后呈现:

同样的行为适用于List. 我希望列表或表单的内容只呈现一次。

我在 iOS 14 上使用 XCode 12.0GM。

0 投票
2 回答
355 浏览

swiftui - 添加/删除行时,SwiftUI List/Form 动画效果不佳

我有一个非常简单的文本列表,当用户点击它时,它会在里面扩展一个日期选择器。

问题是动画看起来真的很糟糕,不知道除了从头开始做整个事情之外我还能做些什么,在这一点上我宁愿只使用 UIKit。

在此处输入图像描述

如果您知道如何解决此问题,我将不胜感激。

这是代码:

0 投票
0 回答
100 浏览

swift - SwiftUI:将 UI 控件直接绑定到模型的属性与为每个输入声明单独的 @State

我正在寻找一些关于 SwiftUI 推荐做法的建议

当我们设计一个需要捕获用户输入的视图时,这些输入需要被捕获到一个模型对象中,该模型对象最终将被保存并稍后检索以显示在某些场景中,推荐什么

选项#1。每个子视图都有其本地 @State 变量,这些变量绑定到控件,如 TextField、Pickers、Toggle 等,然后我们应该编写一些代码将这些传递给模型对象

选项#1 的模型

选项#2。我们是否应该将模型的属性直接绑定到 TextField、Pickers、Toggle 等?

选项#2 的模型

}

在选项#1 中,我看到需要编写大量代码来捕获状态,然后将状态转移到模型,但在选项#2 中,状态已经在模型对象中捕获,因此代码更少。此外,任何触发其他属性更改的相互关系和依赖关系都可以在模型本身中编码(在 didSet 中)。例如,我可以将 heightInput 和 weight 输入绑定到 TextField 并提取 Model 本身中的底层值,而不是在 View 中处理 String 并将其转换为 View 中某处的 Double 类型属性

选项#3。就像我们将单个视图分解为子视图一样,我们是否也应该将模型(结构)分解为更小的子模型并将子模型分配给子视图?像下面

在采用上述实践(或设计选择)之一之前,是否应该注意任何陷阱,以便现在可以避免以后的重构或管理不善?

我发现将模型的属性直接绑定到 UI 控件更容易,而不是在每个视图中创建本地 @State,因为它导致 UI 中的代码更少,模型中的代码集中。这是正确的评估还是错误的评估?