问题标签 [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 回答
378 浏览

swiftui - 我无法让我的 LazyVGrid 显示超过两行

所以我有这个非常基本的网格。它有 5 列,应该有 3 行。但我不能让编译器编译超过两行的东西......

编译器抱怨:“调用中位置 #11、#12、#13、#14、#15 的额外参数”

如果我删除 Text 6 to 10 它会编译....

代码:

0 投票
0 回答
446 浏览

ios - 如何让 LazyVGrid 不偷懒?

在我的 ScrollView 中,其他 View 的顶部有 LazyVGrid 视图。滚动到底部后,当我慢慢滚动到顶部时,我注意到 LazyVGrid 视图消失了一段时间。这是我的快照(https://imgur.com/gallery/kFsgvgv

我的问题是如何让 LazyVGrid 在滚动到顶部后出现。谢谢。

0 投票
1 回答
997 浏览

swift - 如何在 LazyVGrid 中使用 GeometryReader

我正在用卡片构建一个网格,顶部有一个图像视图,底部有一些文本。这是该组件的 Swift UI 代码:

该组件输出以下布局:

在此处输入图像描述

这看起来很棒,但我想在 Card 组件中添加一个几何阅读器,以便根据封闭网格列的宽度缩放顶部图像视图。据我所知,该代码应如下所示:

麻烦的是,这呈现如下:

在此处输入图像描述

如您所见,我什至没有尝试使用 GeometryReader,我只是添加了它。如果我在顶层添加几何阅读器,它将正确渲染网格,但这对我来说没有多大用处,因为我计划将组件抽象为其他符合 View 的结构。此外,GeometryReader 似乎在上下文中很有用,并且考虑到几何图形来自顶层(全宽),做一堆数学将宽度值减半然后从那里进行计算是没有意义的。

我是否错误地使用了几何阅读器?我的理解是它可以在组件树的任何地方使用,而不仅仅是在顶层。

谢谢参观!

0 投票
0 回答
611 浏览

swift - LazyVGrid、List、LazyStacks 不会从内存中释放视图?

我正在使用 SwiftUI 2 中的新照片选择器,我制作了一个简单的应用程序来在 LazyVGrid 中显示导入的图像,但是当我向下滚动时,如果我导入了大约 150 张图像,应用程序会完成所有内存并崩溃(由于终止到内存问题)。

我对 LazyVStack 和 List 进行了同样的尝试,但它们有同样的问题,我期待惰性项会从内存中释放所有离开屏幕的单元格,但它看起来不像在工作。

这是一个错误还是我做错了什么?

这是我的代码:

和 PhotoPickerView:

0 投票
1 回答
7607 浏览

swift - SwiftUI 配置 LazyVGrid 无间距

我想创建一个没有空格或更小的单元格网格,就像照片应用程序一样,SwiftUI 2 LazyVGrid 可以吗?我试过了,但列之间总是有这个空间。

在文档中,spacing参数描述为:

间距 网格与其父视图中的下一个项目之间的间距。

哪个没有多大意义,你不能用padding它吗?此外,当我尝试增加间距时,它似乎实际上影响了单元格行之间的空间,这更加出乎意料。

0 投票
1 回答
876 浏览

swiftui - SwiftUI - 使用可扩展视图构建 LazyVGrid

我正在尝试从一组颜色构建一个两列的二次视图网格,其中一个视图在单击时扩展为四个小视图的大小。

来自 swiftui-lab.com 的 Javier 给了我一种突破,他提出了在 ForEach 中添加 Color.clear 作为“假”视图的想法,以欺骗 VGrid 为扩展视图腾出空间。这适用于网格左侧的框。但是,右侧的框给我带来了无穷无尽的麻烦,因为它们向右扩展并且不会导致 VGrid 正确重新对齐:

从左侧展开的盒子工作正常

不适用于从右侧展开的框

最接近我能够让它工作的地方

我已经尝试了几件事,例如交换数组中的颜色,在单击右侧的视图之一时旋转整个网格,添加不同数量的 Color.clear 视图 - 到目前为止还没有任何技巧。

这是当前代码:

矩形视图:

如果您能指出我做错的方向,我将不胜感激。

PS 如果您运行代码,您会注意到最后一个黑匣子也没有按预期运行。这是迄今为止我无法解决的另一个问题。

0 投票
1 回答
1682 浏览

scroll - 如何正确地将“单元格项目”从 SwiftUI LazyVGrid 传递给 .sheet?

这是我的示例,我无法判断这是否是错误。我的所有单元格都正确加载,但是当我尝试将其DetailView()作为工作表显示时,输入的项目始终是网格中首先显示的项目(在我的情况下位于左上角),而不是之前的“单元格”轻拍。那么,为什么 ForEach 循环中的项目正确填充了单元格,但没有通过按钮传递给 .sheet 呢?

我错过了什么?另外,在我的 iPad pro 11 上滚动有点跳动,有没有人看到同样的行为?

0 投票
0 回答
135 浏览

button - 为什么将视图放入 Button 会导致 LazyVGrid 出现严重滞后(错误?)?

这是我的代码。没有按钮,但使用 onTapGesture,滚动非常流畅。伟大的!但是,如果我将 Text() 视图放在一个按钮中,那么延迟真的非常非常糟糕,甚至有点悬...

这是简化的代码。在我的实际项目中,我有一个名为 GridCell 的视图,它本质上是一个带有字符串的彩色框。但是,如果我将该视图放在一个按钮中(而不是使用 ForEach 中的按钮,并将 GridCell 作为其内容/标签),那么滞后也存在。我们应该避免在 LazyVGrids 中使用按钮还是这是某种错误?

0 投票
1 回答
906 浏览

animation - SwiftUI - LazyVGrid 单元格上的 contextMenu 导致地图存在时动画崩溃

我有一个 LazyVGrid 和一个可以更改列数的 NavigationBarItem 按钮。它在 1、2、3 之间循环,然后回到 1,等等。我使用.animation(.default)修改器来动画这个变化。当只有一列时,我使用不同的单元格结构,其中包含一个小的 Map 元素。我有一个 contextMenu,它适用于 2 列和 3 列,但在单列单元格上使用时会立即崩溃。

AnimationError[2652:855376] [未知进程名称] CGImageCreate:无效图像 alphaInfo:kCGImageAlphaNone。应该是 kCGImageAlphaNoneSkipLast

此崩溃仅发生在我的 iPhone 11 Pro 真机上,模拟器处理得很好。如果我删除动画,一切都很好。

一个可编译的精简版:

我的 Cell 和 CellMap 视图:

0 投票
1 回答
314 浏览

swift - SwiftUI 和 CoreData:如何计算“真”布尔值的数量并在 VGrid 中显示结果

我创建了一个 CoreData 实体 Event,用它的属性category(String) 和isBlack(Bool) 调用。我还创建了一个 Button 和一个 VGrid(Xcode 12 beta)。

单击该按钮后,会将一些条目添加并保存到 CoreData。我有一个@FetchRequest和一个函数update,它返回一个字典,将 CoreData 条目分组在其各自的类别中。然后我让 VGrid 发挥作用,并使用 SFSymbols 图像为每个类别显示一个部分。

我想要实现的是 VGrid 根据每个类别中有多少“真实”布尔值显示一个图像。因此,例如,如果真正的布尔值在一个类别中占多数,我想显示circle.filled,否则只是circle

这是代码,因为它使用了 Grid,所以它只适用于 Xcode 12 (beta):

非常感谢任何帮助,非常感谢。