问题标签 [swiftui-list]

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 回答
317 浏览

swiftui - 是否可以以仅将其下方的项目向下推而不将其上方的项目向上推的方式填充 VStack 中的项目?

标题有点难用,但这是我的情况。我有一个 VStack,我需要为在堆栈中被点击的项目下方形成的间隙设置动画。

例如,我尝试将 .padding(.bottom, isTapped ? 50 : 0) 添加到项目中,但它不会产生所需的结果。例如,如果项目 X 是我点击的项目,这就是我使用此方法得到的行为

基本上,正如我试图说明的那样,它向上推动 X 上方的项目以及向下推动其下方的项目。

有什么办法可以去做我想做的事吗?一种方法来修复 X ​​和它上面的项目,以便只有下面的项目会移动?

编辑:这是一个更真实的示例,当点击中间项目时,会导致在其下方添加填充,但不幸的是,这不仅仅将前 2 个保留在原处并将第三个向下推。但是它将前两个向上移动,第三个向下移动。(此外,填充也不会像下面的示例所示那样放置,而是在项目视图本身中,如果这会有所不同的话)

0 投票
1 回答
66 浏览

swift - Require a SwitftUI View in a protocol without boilerplate

[ Ed: Once I had worked this out, I edited the title of this question to better reflect what I actually needed. - it wasn't until I answered my own question that I clarified what I needed :-) ]

I am developing an App using SwiftUI on IOS in which I have 6 situations where I will have a List of items which I can select and in all cases the action will be to move to a screen showing that Item.

I am a keen "DRY" advocate so rather than write the List Code 6 times I want to abstract away the list and select code and for each of the 6 scenarios I want to just provide what is unique to that instance.

I want to use a protocol but want to keep boilerplate to a minimum.

My protocol and associated support is this:

which means I can then just write:

which isn't bad but I feel I ought to be able to go further.

Having to write:

with

still seems cumbersome to me. In each of my 6 cases I'd be writing very similar code. I feel like I ought to be able to just write:

because that's the unique bit. But that certainly won't compile.

And then the same for the Detail.

I can't get my head around how to simplify further. Any ideas welcome?

0 投票
2 回答
2510 浏览

ios - Swift UI 列表:点击单元格时打开外部 URL

我正在尝试在轻按URL其中一个单元格时打开 a 。List我尝试将修饰符添加onTapGesture到单元格本身,然后调用UIApplication.shared.open(url),但这仅在点击正确在单元格视图的元素上(而不是在单元格的背景上)时才有效。

我还尝试将背景视图(矩形)添加到不透明度为 0.01 的单元格中,但尽管这可行,但尽管不透明度很低,但矩形仍然非常明显。

是否有任何解决方法可以使整行可点击?

0 投票
1 回答
626 浏览

swiftui - SwiftUI - 点击按钮更改 VStack 的背景颜色

当我点击 OrderButton 时,所有 VStack 的背景颜色都变为灰色,然后像分配了单击事件一样返回。我怎样才能防止这种情况?

通过使用ScrollView并添加更多参数来自动调整Text大小解决了该问题:

0 投票
4 回答
16686 浏览

swiftui - SwiftUI - 取决于元素计数的可调整大小的列表高度

我在动态更改依赖于元素计数的列表高度时遇到了一些麻烦。

我尝试了这个解决方案,但没有奏效。

0 投票
1 回答
828 浏览

swiftui - SwiftUI - 列表给出错误“表达式类型不明确,没有更多上下文”

我正在尝试实现具有多项选择的列表。

这是代码:

但我得到以下错误:

“没有更多上下文,表达的类型是模棱两可的”

在此处输入图像描述

感谢是否有人可以提供帮助!:)

0 投票
2 回答
1291 浏览

swiftui - SwiftUI 中的 Expandable List 只展开一次,不会收缩

我正在尝试(但失败了!)在 SwiftUI 中实现可扩展的问题和答案列表。

成功点击任何问题会将答案展开到视图中,但再次点击同一标题不会缩小答案,点击第二个问题也不会扩大这些答案。

在此处输入图像描述

通过一些明智地放置prints ,我可以看到在点击的第一个问题上isExpanded切换到true,但随后不会切换回false

有人可以解释我做错了什么吗?

0 投票
1 回答
2101 浏览

swift - 如果数组是 ObservableObject 的成员,如何绑定数组和 List?

我想创建MyViewModel从网络获取数据然后更新结果数组。MyView应该订阅$model.results并显示List填充结果。

不幸的是,我收到有关“没有更多上下文的表达式类型不明确”的错误。

这种情况如何正确使用ForEach

PS如果我用一切正常替换模型@State var results: [String],但我需要单独class MyViewModel: ObservableObject用于我的目的

0 投票
0 回答
416 浏览

iphone - 使用 SwiftUI 旋转 List 时遇到意外行为

我已经设置了一个嵌入在 NavigationView 中的相对基本的列表,但是当我执行旋转时,事情并没有按预期工作。

以下屏幕截图显示了事件的顺序。

当视图最初呈现在iPhone上时(运行 iOS 13.1 17A844

在此处输入图像描述

当视图从纵向旋转到横向时

在此处输入图像描述

我在这里的主要兴趣是后退按钮消失了。

最后,当它旋转回纵向时

在此处输入图像描述

请注意,Bar Title已经缩小,现在与后退按钮对齐。

这是我用来生成这些屏幕的代码的简化版本:

理想情况下,我希望 UI 在旋转后保持相同的外观。

作为比较,当我在使用iOS 13.1 (17A844)的物理 iPad 上运行它时,它的行为符合预期。

0 投票
1 回答
2107 浏览

ios - 列表中的 SwiftUI ScrollView 具有可怕的性能影响

我有一个非常简单的 SwiftUI 视图,其中列出了一堆文本:

这段代码似乎工作正常,并为我提供了流畅的滚动性能。

如果我更改它以使 HStack 位于水平滚动的 ScrollView 内:

当我在列表中上下滚动时,性能受到了巨大的影响,内存似乎无限增长。内存调试器中没有任何泄漏。

我想知道是否有人知道为什么性能影响如此之大,以及是否有任何解决方法。

更新:

HStack 和 Text 似乎与问题无关,即使是 scrollView 内的 Spacer 也会触发问题。