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

swift - 是否可以使用 Grid 在 SwiftUI 中构建一个简单的灵活视图集合?

我正在尝试构建的是非常简单和通用的组件。这是设计:

设计

这是我到目前为止尝试过的代码:

这是我得到的:

在此处输入图像描述

以下是一些额外的细节:

  1. 数量tags可能从0..<infinity.
  2. tag除非单个超出网格的整个宽度,否则不应被截断。
  3. 每行的数量tags可以根据 的宽度而变化tags
  4. 标签必须是left-aligned.

注意:如果可能的话,我更喜欢本机SwiftUI方法,而不导入任何 3rd 方库。

0 投票
0 回答
31 浏览

swift - 为什么我的 SwiftUI Grid 不适应可用空间?

为什么我的 SwiftUI Grid 不适应可用空间?我该如何解决?

我尝试遵循并修改 Apple 的 WWDC 视频“SwiftUI 中的堆栈、网格和大纲”中的代码。

在此处输入图像描述

0 投票
0 回答
136 浏览

ios - SwiftUI:LazyVGrid 间距不正确

我正在关注 Apple 的 WWDC2020 SwiftUI 视频“SwiftUI 中的新功能”

这个:https ://developer.apple.com/videos/play/wwdc2020/10041/

我已经在提供演示代码的 Apple 的“Apple Developer”应用程序中打开了这个视频。我刚刚将这个原始代码复制到 Xcode 中,但它不能正常工作(下面的截图),为什么?

原始代码:

在此处输入图像描述

0 投票
1 回答
30 浏览

xcode - 无法在 swift ui 中运行网格视图

Xcode 版本 - 12.5 Swift 版本 - 5.4

代码(ContentView.swift) 在此处输入图像描述

当我尝试运行此代码时,我在 SceneDelegate.swift 中出现错误,如下所示 在此处输入图像描述

0 投票
1 回答
128 浏览

swiftui - 添加 LazyVGrid 后预览崩溃

我正在学习斯坦福 CS193p,一切都很顺利,直到用 HStack 切换 LazyVGrid。

我和一位教授检查了我的代码,它们是一样的。但是我的代码中令人困惑的部分是,当我的 emojiCount = 4,预览效果很好时,我可以使用 LazyVGrid,但是当我将 emojiCount 值更改为 4 以上时,例如 5 或 24,它会立即崩溃。

崩溃信息是这样的:

诊断

这是我的代码:

我试图弄清楚整个晚上,但我仍然不知道我的代码有什么问题。非常感谢!

0 投票
1 回答
148 浏览

swift - 如何在 MacOS (11.4) 上将 LazyVGrid 放在 Image swiftUI 旁边

(MacOS 应用程序)我正在尝试在图像旁边放置一个lazyvgrid。使图像具有特定大小,并让 LazyVGrid 占据其余的宽度。我设置了图像的框架,但网格没有占用额外的空间,并且图像和网格的左右两侧都有额外的空白空间。

左侧和右侧的额外空间

0 投票
0 回答
48 浏览

swift - 为什么 LazyVGrid 的详细视图没有在 iPad 上更新

下面是我的第一个 Swift UI 应用程序的简单代码。它在 iPhone 上运行良好,我点击一个网格项目,详细视图显示正确的项目。但在 iPad 上它第一次可以正常工作,但之后,后续点击不会更改详细视图。

我想知道我是否需要让我的 Bird 结构成为一个可观察的对象或类似的东西?奇怪的是,如果我将 LazyVGrid 行与“List”交换,它会按预期工作。任何建议都会无条件接受。

0 投票
0 回答
113 浏览

swiftui - SwiftUI:使用全局框架信息定位视图并动画到全屏?

我正在尝试熟悉 SwiftUI 中的 LazyVGrid、布局和框架/坐标空间,并绘制一个有 4 列的网格,每列是屏幕宽度的 1/4。最重要的是,在单元格点击时,我想在点击的单元格上放置一个视图,并将其动画化为全屏(或我选择的自定义框架)。

我有以下代码:

最外面的几何代理给出这个大小日志:

细胞侧:341.5。cellSide * 列:1366.0,geoProxy.size.width:1366.0

这是渲染的内容:

在此处输入图像描述

例如,当我点击单元格 1 时,会记录以下内容:

local frame: (0.0, 0.0, 341.0, 341.0), globalFrame: (0.25, 0.0, 341.0, 341.0), testCSpace: (0.25, 0.0, 341.0, 341.0) on tap cell info: CellInfo(cellId: "Cell 1", globalFrame: (0.25, 0.0, 341.0, 341.0))

点击“Cell 6”时,新渲染的屏幕如下所示:

在此处输入图像描述

因此,鉴于此代码:

  1. 我怎样才能让(白色)覆盖视图的框架与我点击的单元格视图的框架相匹配?宽度和高度似乎还可以,但位置已关闭。(我究竟做错了什么?)
  2. 一旦放置在点击的单元格顶部,如何让白色视图动画到全屏?
0 投票
0 回答
329 浏览

swiftui - SwiftUI:LazyVGrid 滚动时不刷新

我有一个显示搜索结果的 LazyVGrid,当我在搜索字段中键入字符时,我执行 CoreData 获取请求并更新@Published属性。

问题:
LazyVGrid 按预期更新结果,除非它当前正在滚动:在这种情况下,它将等待滚动减速并在刷新之前结束。

作为比较,在 UIKit 中我可以使用 UICollectionView 并调用.reloadData()它,它会立即刷新网格,无论它是否滚动。

出于测试目的,我尝试了以下操作但没有成功:

  • 添加.animation(nil)视图修饰符
  • 添加.id(UUID())视图修饰符
  • 当我想刷新视图时更新 a @State var dummy = "",并在视图的主体中使用它,例如:Text(dummy)

贝娄是一些代码来帮助可视化这个东西是如何工作的

知道如何让 LazyVGrid 在滚动动画运行时刷新它的内容事件吗?否则对用户来说感觉没有反应。

0 投票
2 回答
48 浏览

ios - 在表格的某些单元格中应用颜色

作为 swiftUI 的新手,我正在寻找一种能够在表格的某些单元格中应用颜色的方法。例如对于“类型”类别,“系绳”为红色,“无绳”为绿色等......我成功地将值放入“ForEach”,但另一方面我无法在那里整合文本。当我设法应用文本时,单元格颜色不适用。如果我能得到你的知情意见,我是一个接受者。谢谢你。