问题标签 [swiftui]

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 投票
2 回答
2181 浏览

swift - 识别(通过:\.self) - 它有什么作用?

在此视频中:https ://developer.apple.com/videos/play/wwdc2019/103/ ,以下代码片段显示在 15:30 左右:

它有什么作用?self指向哪里?当前对象 ( TraitCell_Preview)?它甚至无法在我的计算机中编译,因为common它不是ContentSizeCategory. 我以为我以前在一次SwiftUI谈话中看到过它(\.self)。Keypath不过,这并不是我在 Swift 中最好的东西。

我理解ForEach的元素需要Identifiableself(又名TraitCell_Preview对吗?)只符合PreviewProvider所以不符合Identifiable(如果符合的私有_PreviewProvider协议PreviewProvider不符合Identifiable,则不确定,因为我看不到代码)。

代码片段中有什么\.self,它指向哪里?

0 投票
1 回答
1379 浏览

swift - 视图中不可变的某些视图主体变量/不透明返回

在 Swift 5.1 中有不透明的类型。我看到 egbody是必需的协议变量。它的合同定义如下:

这意味着我们应该能够将 body 标记为不可变(否set)。这必须怎么做?不透明的变量类型是否可能是不可变的?我试过了:

但是我得到了AnotherView必须转换为的错误some View。这样做之后,我得到了错误:

'some' 类型仅针对属性和下标的声明类型以及函数的返回类型实现

我是否能够符合类型View的不可变body变量some View(不将其显式标记为AnotherView)?AnotherViewsome View,我不明白为什么我不能只分配AnotherViewto的实例body。我想保持灵活性并且不暴露结构体外部的实际实现类型,但我想直接在初始化器内部初始化它(因为我在初始化器内部传递值,制作更多属性并在 body 属性中使用它们是详细)。

0 投票
2 回答
702 浏览

swift - 使用 SwiftUI 调整宽度/水平对齐

我在以下布局中实现了SwiftUI

在此处输入图像描述

我尝试让我的 VStack 成为超级视图的 50%,所以我添加了以下修饰符:

在此处输入图像描述

不是超级视图的 50%,但我对实现水平居中更感兴趣。有人知道如何在 SwiftUI 中实现这一目标吗?

有一个alignmentGuide(_:computeValue:)可用的修饰符,但我正在努力提供正确的输入以满足编译器的要求。

0 投票
2 回答
6554 浏览

swiftui - 当文本()对于设备的宽度来说太长时,如何在 SwiftUI 中进行换行?

我有以下内容,并希望换行较长的文本

0 投票
4 回答
3179 浏览

ios - Text 或 Image 等视图类型如何符合 SwiftUI 中的 View 协议?

关于SwiftUI中的视图类型,有一件大事让我感到困惑:

他们似乎不符合View协议,但不知何故,他们神秘地做到了。

Text类型为例。它的定义如下:

我找不到任何增加View协议一致性的公共扩展,比如

官方文档中的“关系”部分简单说明:

符合: 平等

仅此而已,仅此而已。

然而,我可以返回Text一些View需要的实例,例如:

如果Text不符合View,这将不可能并引发编译器错误。

(some View是一种不透明的结果类型,这意味着它是具有标识的特定类型,但符合View.)

那么这怎么可能呢?

为SwiftUI视图类型(如、、、 ...)View指定的协议一致性在哪里?TextImageCircle

0 投票
4 回答
5333 浏览

swift - 带有 mkmapview 和 uitextfield 委托函数的 Swiftui

我正在练习和阅读SwiftUI,我开始制作一个简单的应用程序,您可以在其中将位置输入到TextField视图中swiftUI,然后再次进入mkmapview内部SwiftUI将转到我搜索的位置。我似乎一辈子都无法掌握如何使用我的mkmapview.

此外,我什至找不到在Textfield不进行导航或渲染新视图或删除视图的情况下关闭键盘的方法。

谁能指出我如何关闭我的键盘?我习惯了resignFirstResponder()didFinishEditing()
另外,是否有人对如何为MKMapViewfrom分配功能有任何建议,swiftUI或者我认为这一切都错了?

我想在我的 Textfield 的 onCommit 处理程序中,我会调用一个函数,该函数可以将必要的数据传递给MapView并处理它,但我无法找到一个好的方法来做到这一点。

*编辑注意:我上面的代码有效,它将构建一个带有文本字段的全屏地图视图,并且文本字段接受文本并更新它的状态。我的问题是关于如何通过获取 mapview 的功能并在返回时隐藏我该死的键盘来继续前进

0 投票
1 回答
140 浏览

ios - 什么是布局系统?

在 UIKit 中,我们使用了自动布局系统。SwiftUI 使用什么布局系统?

它如何UIView在画布中布局?

0 投票
7 回答
12871 浏览

swift - 使 Button 跨越 VStack

我目前有以下 SwiftUI 视图:

在此处输入图像描述

我在 中添加了一个.background(Color.green)Button如您所见,该视图与文本非常贴合。

我想知道是否有办法调整按钮的宽度以使其充满-VStack类似于.fill.UIStackView

0 投票
13 回答
72299 浏览

ios - 如何在 SwiftUI 中创建多行 TextField?

我一直在尝试在 SwiftUI 中创建 TextField行,但我不知道如何。

这是我目前拥有的代码:

但这是输出:

在此处输入图像描述

0 投票
3 回答
9162 浏览

swift - 无法在 SwiftUI 中使用自定义视图

对于我的 SwiftUI 应用程序,我创建了一个简单的Title视图,它具有设置的字体大小和文本颜色。Title声明如下:

我现在在内容视图的正文中有以下文本对象:

所以现在,我想Text用我的 s 替换这两个Titles:

替换视图后,我从 Xcode 收到一些看似无关的错误消息,这些错误消息会阻止应用程序编译:

静态成员“leading”不能用于“Horizo​​ntalAlignment”类型的实例

'(LocalizedStringKey) -> Text' 不能转换为 '(LocalizedStringKey, String?, Bundle?, StaticString?) -> Text'

“字体”不能转换为“字体?”

...和更多。恢复Text而不是Title“修复”问题。

有趣的是,我还有一个自定义PrimaryButton视图,我可以毫无问题地添加它:

...然后使用它:


问题

这只是一个测试版问题,还是我错过了什么?