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

arrays - SwiftUI 中用于 ForEach 的自定义视图数组

我有 4 个类似的视图,就像SettingsPointOneView()图中的每个点一样。他们存储 2 个视图SliderFirstPointX()SliderFirstPointY()在这种情况下。它们(SliderFirstPointX 等...)使用滑块控制和更改自定义图形特定点的轴(x,y)值。

外观:</p>

在此处输入图像描述

SliderFirstPointX() 和 SliderFirstPointY()

设置PointOneView()

我想将它们定位到 LazyVGrid 中,类似于屏幕截图上的样子。所以我创建了常量 var 并尝试像这样初始化它:

之后,出现了几条错误消息,我不知道如何处理:

在 ForEach 前面: • 作为类型的协议 'Any' 不能符合 'AccessibilityRotorContent

在 LazyVGrid 前面:

• 通用结构'LazyVGrid' 要求'some AccessibilityRotorContent' 符合'View';

• Initializer 'init(columns:alignment:spacing:pinnedViews:content:)' 要求'some AccessibilityRotorContent' 符合'View';

• 结构“ViewBuilder”要求“某些 AccessibilityRotorContent”符合“View”

因为我没有找到补救措施,我不得不使用这个实现,但这并不让我满意:

这个解决方案效果很好,虽然我猜这是实现这个功能的错误方法。

有没有办法在 ForEach 中使用视图数组的方法?

说实话,我已经编程了 3 个月,所以我会很感激任何关于我作为 Swift 开发人员应该学习什么的建议。

0 投票
2 回答
218 浏览

ios - Swift UI - LazyVGrid 和 ForEach - 不能使用重复项

SwiftUI 的新手,并尝试在 LazyVGrid 内的单独 CardViews 上显示这些表情符号。当我使用 ForEach 循环为每个 CardView 设置一个表情符号时,我不能使用重复的表情符号 - 即使我使用过id: \.self(实际上,并不完全确定这对我想要实现的目标很重要,但认为值得一提)。

基本上,我可以显示 5 张卡片,但是当我尝试显示 6 张(即重复项目开始时)时,预览会崩溃。我可以用 HStack 做到这一点,但由于某种原因,不能用 LazyVStack。我查看了 LazyVStack 文档,但找不到答案。

此外,尝试在 ForEach 中使用 .indicies 但似乎也没有修复它。

0 投票
1 回答
77 浏览

swiftui - LazyVGrid 每个项目只占据它需要的地方

我只是想知道如何制作一个 LazyVGrid,其中每个项目只占据它需要的位置,而不是更少也不是更多。

我知道,.flexible()但问题是:我的物品尺寸不同,这意味着我不知道有多少物品可以连续放置。

你有什么想法吗?谢谢你的帮助!布托什

编辑:

这是我所说的一个例子。我想实现这些项目被放置在它们周围的均匀空间。(不低于彼此,就像他们现在一样)

0 投票
0 回答
167 浏览

animation - swiftui在使用lazyvgrid的滚动视图中滚动太快时冻结

我在滚动视图中有一个小部件列表,每行有 3 个元素。某些元素将通过 SwiftUI 文本计时器显示秒表。文本计时器将每秒增加 1。一开始一切都很好,但如果我滚动列表太快,文本计时器将被冻结,不再更新,除非再次滚动列表。

Bellow 录制是我在 iPhone 12 Pro Max 上的屏幕录制。第一次,从“Category 2”位置慢慢滚动到顶部,秒表正常刷新。第二次和第三次,快速滚动到顶部,秒表停止并且从不刷新。

在此处输入图像描述

这是我的代码:

我也尝试使用 List 来替换 Scrollview + Lazyvgrid。这种情况有所改善。但是 List 很难自定义样式,例如删除分隔线,删除填充。

有没有办法解决这个问题?

求救!!

0 投票
1 回答
52 浏览

arrays - 使用 LazyVGrid 时,DetailView 仅调用数组中的第一项

我有一个可以添加项目的列表,当我单击它们时,它会打开正确的详细信息视图。我最近将列表换成了 LazyVGrid,但是当我单击网格项时,详细视图仅调用数组中的第一项。

这是列表视图:

添加项目和详细信息视图:

这就是我添加每个项目的方式:

我不确定为什么 LazyVGrid 只调用第一项,任何帮助将不胜感激

0 投票
1 回答
758 浏览

swift - 在 LazyVStack 中使用带有 AsyncImage 的 VStack 会导致图像在滚动时重新加载

我正在尝试使用 SwiftUI 中的新 AsyncImage 显示一长串带有标题的图像。我注意到,当我将 VStack 放在 AsyncImage 周围并滚动图像时,每次向上或向下滚动时它都会重新加载图像。当没有 VStack 时,我看不到重新加载并且图像似乎保持缓存。

有没有办法让 VStack 在滚动时不重新加载图像,以便我可以在每个图像下添加文本?

这是一个工作示例。尝试使用和不使用 VStack 滚动。

0 投票
1 回答
422 浏览

ios - 如何在 SwiftUI 中使用自定义布局获取网格(不同的单元格大小)

所以我试图获得一个包含不同大小单元格的自定义网格。我有点卡在这里了。所以我有一个特定的单元格,其高度和大小是所有其他单元格的两倍。但是单元格的左侧需要两行而不是一行。如何在下图中强制在 H3 下方或 H4 框左侧再添加两个框。

这是我的代码:

这是到目前为止网格情况的屏幕截图:

在此处输入图像描述

对此的任何帮助将不胜感激。

0 投票
2 回答
118 浏览

xcode - SwiftUI Firestore LazyVGrid 导航随着更多元素而变慢

我的健身应用程序上有一个标签,显示了我的应用程序上的所有健身教练,从 Firestore 中提取。我注意到,当网格显示超过 4-5 位培训师时,当我点击一位培训师(指向他们个人资料的导航链接)时,过渡非常缓慢且缓慢,当我按下后退按钮时也会发生同样的事情培训师资料返回到所有培训师的网格。

这是显示所有培训师的选项卡的代码:

这是我关于lazyVGrid 中的训练单元的代码:

从其他堆栈溢出问题中,我看到了有关使用列表而不是滚动视图的事情,但我已经尝试过,但它不适用于需要如何设置我的视图。

我的代码中是否有任何内容会导致导航链接的性能如此差和过渡缓慢?

0 投票
1 回答
126 浏览

swiftui - SwiftUI:导航链接中的自定义标签显示为灰色

我正在尝试使用我的自定义卡片视图作为导航链接的标签。此导航链接也是一个 Grid 项。结果是一个在此处输入图像描述

我的卡号:

我的列表视图:

有人有解决方案为什么它给我这种不透明性?

更新:主要联系人视图是: 在此处输入图像描述

0 投票
0 回答
32 浏览

swiftui - 当屏幕旋转时,如何防止“fullScreenISPresented”自行消失?

我有一个布局计数的 LazyVGrid:纵向时为 2,在横向时为 3,在滚动视图中。我使用三元来更改计数。问题是当我向下滚动而不是选择一个单元格时,当模型向上滑动并旋转时,视图会自行消失。我还注意到卷轴似乎位于完全不同的位置。我需要以不同的方式构建它吗?有趣的是它只发生在滚动视图中的某些地方。它不一致。有时它工作正常,然后当我继续向下滚动时,它会开始发生。如果我不更改纵向或横向的布局计数,它可以正常工作。似乎更改计数会导致此问题。

}