问题标签 [lazyvgrid]

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

forms - LazyVGrid inside a Picker, using SwiftUI

In the code below the picker works great, however the LazyVGrid appears as one column only (should be three columns, as indicated in pickColorTable var).

Image 1

In another hand, if the second line is swapped with the third line, as the code below, LazyVGrid renders correctly, but the picker stops working (nothing happens when I click on the desired color).

Image 2

Does anyone have a tip to make LazyVGrid works properly inside the picker?

0 投票
1 回答
171 浏览

swiftui - 如何检测 LazyVGrid 的项目是否被重新构建?

在我的应用程序中,LazyVGrid多次重新构建其内容。网格中的项目数可能不同或保持不变。每次必须以编程方式将特定项目滚动到视图中。
当第LazyVGrid一个出现时,可以使用onAppear()修饰符将项目滚动到视图中。
有什么方法可以检测LazyVGrid下一次完成重新构建其项目的时刻,以便可以安全地滚动网格?

这是我的代码:

网格

帮助枚举确定要在网格中显示的列数

简化的视图模型

0 投票
0 回答
44 浏览

mvvm - 在按钮交互后隐藏lazyvgrid项目并将所选项目添加到数组中

我有一个菜单,用户应该在其中从他们想要包含在例程中的列表中选择练习。这些练习以 LazyVGrid 的形式呈现,弹出一个交互表。此表提供了通过按钮添加该练习的选项。

我想要发生的是在按下按钮时,网格项将从 LazyVGrid 中消失,并且属于自定义类型的练习模型的练习将被附加到选定练习的数组中。

ExerciseModel 类型遵循此模型:

到目前为止,我已经完成了这项工作,从用户选择他们想要包含在例程中的练习的菜单开始(ExerciseView 只是一个包含有关练习信息的 ZStack):

作为参考,这是按下网格项目时显示的工作表视图:

0 投票
1 回答
38 浏览

ios - LazyVGrid 中图像的统一大小

我正在使用LazyVGridwithSwiftUI显示 8 张图片

从照片中可以看出,图像的尺寸并不统一,有些是精确的,有些比下一张照片的高度低..

在此处输入图像描述

我不明白为什么会发生这种情况..您有解决问题的想法吗?

这就是我创建LazyVGrid

0 投票
0 回答
20 浏览

swiftui - 如何在 LazyVGrid 中只选择一个切换

我使用 LazyVGrid 来显示一组数据,作为一列我想使用 Toggle 视图来允许多行选择。如果我这样做

然后(当然)所有行都被选中或未选中,都绑定到选定的@State var。这里允许选择单独的行的最佳做法是什么?谢谢。

0 投票
1 回答
33 浏览

swift - 警报在 LazyVGrid SwiftUI 中采用错误的值

Alert 应该从模型中删除对象,但是当 Alert 出现时,值与 tap 和 longPress Gesture 中的值不同。知道为什么吗?

0 投票
0 回答
40 浏览

ios - 在 LazyVGrid 中使用 PhotoKit 显示照片会占用大量内存

我正在尝试使用存储在照片应用程序中的照片来实现 Gridview,以便用户可以选择一张照片并将其选为他的个人资料照片。在 SwiftUI 之前,我使用集合视图和 Photos Kit 来获取图像并将它们显示在网格中。

现在我切换到 SwiftUI,我尝试使用 LazyVGrid。我能够获取用户的所有照片并将它们显示在网格中。但是它使用了大量的内存。我之前有内存泄漏,但现在 Instruments 不再显示任何泄漏。

我认为它可能是,当网格对用户不可见时,它并没有真正卸载显示的图像。但是,如果您向上和向下滚动多次,它只会比以前使用更多的内存。就像网格总是在创建新视图,而旧视图不会被删除。我是在使用错误的东西还是误解了 LazyVGrid 的原理?

0 投票
1 回答
50 浏览

swiftui - 如何在 LazyVGrid 中将 50 个缩略图与相应的全尺寸壁纸连接起来?(Xcode 13,iOS15)

不能选择使用带有 LazyVGrid 的完整 2960x1440 壁纸,因为它会导致性能不令人满意,即使在 iPhone 12 Pro 上也是如此。

所有资产都存储在资产目录中。这些是模型:

图库是一个简单的两列网格:

这是可行的吗?想法?

谢谢!

0 投票
1 回答
41 浏览

ios - SwiftUI LazyVGrid 过渡动画不如预期

我有一个定义如下的 LazyVGrid:

我有一个按钮,可以启动动画效果:

动画应该使用幻灯片效果以 1 秒的间隔将新的红色方块一一添加到网格中,但是有两个问题:

  1. 即使我为红色视图设置了特定的过渡,过渡也会被忽略,并且正方形会添加淡入淡出效果

图像1

  1. 每次行中的第一个方格,在网格上添加新行,从行的中间出现,并开始垂直滑动,同一行中的下一个方格淡入

图2

看来我将过渡和动画设置在错误的位置,因为即使从红色视图中删除 .transition ,它仍然以相同的方式为其设置动画。无法理解是什么控制它

图3

任何人都有提示如何调整它以正常工作?谢谢!