UICollectionView 和 SwiftUI?

2024-02-04

如何使用 SwiftUI 创建方形项目网格(例如在 iOS 照片库中)?

我尝试了这种方法,但它不起作用:

var body: some View {
    List(cellModels) { _ in
        Color.orange.frame(width: 100, height: 100)
    }
}

List仍然具有UITableView风格:


iOS 14 和 Xcode 12

iOS 14 的 SwiftUI 带来了一个易于使用的新的原生网格视图,称为LazyVGrid: https://developer.apple.com/documentation/swiftui/lazyvgrid https://developer.apple.com/documentation/swiftui/lazyvgrid

您可以从定义一个数组开始GridItems。 GridItems 用于指定每列的布局属性。在这种情况下,所有 GridItem 都是灵活的。

LazyVGrid需要一个数组GridItems 作为其参数,并根据定义显示包含的视图GridItems.

import SwiftUI

struct ContentView: View {
    
    let columns = [
        GridItem(.flexible()),
        GridItem(.flexible()),
        GridItem(.flexible()),
        GridItem(.flexible())
    ]
    
    var body: some View {
        ScrollView {
            LazyVGrid(columns: columns) {
                ForEach(0...100, id: \.self) { _ in
                    Color.orange.frame(width: 100, height: 100)
                }
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UICollectionView 和 SwiftUI? 的相关文章

  • 无法从 iOS 中的框架访问 .nib(XIB) 文件

    我已经从现有的代码库中创建了一个框架 并尝试在新的代码库中使用它 这很好用 但是当我尝试访问属于我的框架包的一部分的 nib 文件时 我的应用程序崩溃了 这是我用来访问视图控制器 XIB 文件的代码 testViewController c
  • AFNetworking XML 请求问题

    我在用着AFNetworking 2使用 JSON 响应 它工作正常 现在我必须将其转换为 XML 而不是使用 JSON 因为服务器响应是 XML 格式的 在我搜索之后 我找到了这段代码 但它不起作用 与 Charles 我发现请求是错误的
  • 为什么performSegueWithIdentifier在viewDidLoad中不起作用?

    我试图在视图控制器上调用 viewDidLoad 后立即触发故事板转场 Segue 附加了一个标识符 当从链接到按钮或其他控件的方法内部调用时 它可以正常工作 但它在 viewDidLoad 内部不起作用 它只是默默地失败了 viewDid
  • iOS 14 无效的框架尺寸(负或非有限)

    我的应用程序使用 GeometryReader 和一些填充来设置 NavigationView 内的视图框架尺寸 从 iOS 14 开始 我收到以下错误消息 框架尺寸无效 负或非有限 这是一些要测试的示例代码 import SwiftUI
  • 从 UIPickerView 的选定行设置 UIButton 的标题

    详细场景是这样的 我使用循环创建 10 个按钮并设置 0 9 的标签 点击每个按钮时 我将调用 UIPickerView 在其中加载来自不同数组的数据 到这里我就得到了预期的结果 但我希望 pickerView 中选定的行应设置为相应按钮的
  • 如何保护 iOS 应用程序免受任何操作系统攻击(在越狱设备上)

    我希望保护我的应用程序数据 以防任何操作系统攻击或越狱 iOS 设备上的未经授权的访问 在这种情况下 有什么方法可以检测此类威胁并保护应用程序数据 虽然我同意 jrturton 的说法 但如果您有想要保护的关键数据免受流氓应用程序 而不是用
  • dyld:无法加载插入的库

    当我尝试运行 UI 和单元测试时 出现异常 dyld 无法加载插入的库 private var containers Bundle Application AutoTestingApp app Frameworks IDEBundleInj
  • iOS:生成pdf时绘制文本时如何设置字体?

    我在ios应用程序中使用drawpdf函数生成pdf 同时调用nsobject类中的drawtext函数 它根据我指定的框架和字符串清楚地绘制文本 我的代码是 void drawText NSString textToDraw inFram
  • 用户验证 Facebook 后未调用应用程序打开 Url 方法

    我已将 ios 应用程序中的 facebook 升级到 3 0 并使用提供的代码https developers facebook com docs howtos login with facebook using ios sdk http
  • AVAssetExportSession 无法导出从 iCloud 下载的视频

    我正在尝试创建从用户相册中选择的视频的缩小版本 输出的最大尺寸为 720p 因此 在检索视频时 我使用 mediumQualityFormat as the deliveryMode 如果用户设备中不存在原始视频或其中等质量版本 这会导致
  • watchOS 错误:控制器接口描述中的未知属性

    我将 WKInterfacePicker 添加到情节提要中 并将其连接到界面控制器中的 IBOutlet 运行应用程序时 它在控制台中显示一条错误消息 控制器的接口描述 watchPicker 中的未知属性 Code interface I
  • 如何在代码中编辑约束

    我有一个以 100 开始宽度限制的网页 当用户单击按钮时 我想将约束更改为 200 我试过这个 NSLayoutConstraint constrain NSLayoutConstraint constraintWithItem self
  • Objective-C 中发送给对象的消息可以被监听或者打印出来吗? [复制]

    这个问题在这里已经有答案了 可能的重复 Objective C 中拦截方法调用 https stackoverflow com questions 1618474 intercept method call in objective c 如
  • iOS:如何知道 reloadData() 已完成其任务?

    我想滚动到给定索引 self boldRowPath 但是当我调试时scrollToRow之前执行reloadData 如何知道reloadData已完成 func getAllTimeEvent self arrAllTimeEvent
  • 如何更改 SwiftUI 列表中分隔符的颜色?

    我在 SwiftUI 中创建了一个列表 我想更改颜色或删除分隔符 因为在 UIKit 中 我们可以轻松更改 TableView 中分隔符的颜色 下面是 SwiftUI 中列表的代码和 UI 图片 State private var user
  • 模态转场需要点击 2 次而不是 1 次

    我的 UITableView 需要点击 2 次才能显示所选单元格的详细信息页面 一次用于选择 另一次用于显示详细信息视图 我希望有一个 CLI 直接显示所单击单元格的详细视图 我在 UITableViewManager m 中使用此方法的模
  • 是否可以跨 2 个不同的 iOS 应用程序访问数据?

    假设我在 App1 中存储了一些 ID 数据 并希望在同一设备上的 App2 中访问它 平台上可以这样吗 如果没有的话有什么解决方法吗 您可以使用iOS 钥匙扣 http developer apple com library ios do
  • 像 TraceGL 一样分析 Objective C 中的代码路径?

    TraceGL 是一个非常简洁的项目 它允许 JS 程序员跟踪 Javascript 中的代码路径 它看起来像这样 我想为 Objective C 构建类似的东西 我知道运行时使跟踪方法调用变得相当容易 但是我如何跟踪控制流 例如 在上面的
  • 更改 iOS7 中 UIAlertView 的字体大小

    我想更改alertView中消息文本和标题文本的字体大小 苹果网站上没有任何文档谈到这一点 但苹果在其子类注释中表示 UIAlertView 类旨在按原样使用 请参考以下链接 https developer apple com librar
  • ios - 如何声明静态变量? [复制]

    这个问题在这里已经有答案了 C 中声明的静态变量如下 private const string Host http 80dfgf7c22634nbbfb82339d46 cloudapp net private const string S

随机推荐

  • 非解引用迭代器是否超过了数组未定义行为的“最后一个”迭代器?

    Given int foo 0 1 2 3 我想知道指向 最后一个 的迭代器是否无效 例如 auto bar cend foo 1 在 Stack Overflow 问题中 有大量投诉和警告称这是 未定义的行为 如下所示 c 当迭代器结束时
  • 不同优化的无法解释的时间

    我正在编写一些代码 这些代码必须根据设置对大型数据集应用不同的算法 数据集很大 现实世界的时间表明我们需要在可能的情况下对其进行优化 所选算法必须在大型数组的许多数据子集上运行 因此 我决定尝试几种不同的方法 初始化一个Func lt gt
  • 将字符串输入随机化为所有可能性

    我需要帮助制作一个程序 该程序使用 args 获取字符串并将其随机化为每种可能性 然后 程序的结果将被保存到用户在执行程序时提供的文本文件中 如果你需要all以随机顺序排列可能的排列 那么我建议构建然后打乱列表 from itertools
  • 如何使用 XPATH 获取 XML 元素的相对深度

    我试图从给定 XML 文件中的特定元素查找给定 XML 元素的相对深度 我尝试使用 XPATH 但我对 XML 解析不太熟悉 并且没有得到所需的结果 我还需要在计数时忽略数据元素 下面是我编写的代码和示例 XML 文件 例如 的深度NM10
  • Maven 依赖项失败并出现 501 错误

    最近Maven构建正在运行的作业Jenkins失败并出现以下异常 表示他们无法从中提取依赖项梅文中心并且应该使用HTTPS 我不知道如何更改请求HTTP to HTTPS 有人可以在这件事上指导我吗 错误 无法解析的构建扩展 Plugin
  • 本地网络上的自托管 ServiceStack REST 服务

    我想知道是否有人可以提供帮助 我有一个本地网络 无线网络 我的计算机和连接到它的笔记本电脑 并且我尝试托管一个使用 ServiceStack 开发的休息服务 如果我在计算机上运行该应用程序 现在是控制台应用程序 并尝试使用计算机 IP 或
  • Swift:如何在每次出现表视图时重新加载新内容(例如数组)?

    我有一个带有两个视图的选项卡栏 tablview 视图控制器添加数据 然后我有一个数组 它将从视图控制器更新为新内容 例如 仅附加新字符串 该数组填充表视图 现在 当应用程序启动时 表视图显示所有数组内容 但是当我通过选项卡栏移动到视图控制
  • 在 Linux 上安装 antlr4 c++ 运行时后,一些包含文件被破坏

    我在linux上下载了antlr4工具并安装了c 运行时 usr local include 我创建了一个小语法文件 使用antlr4命令成功生成了解析器和词法分析器 但是在编译主文件时出现以下错误 我改变了Interval h里面的标题
  • 我可以在模板绑定中传递变量吗?

    我知道这不是长期使用的好方法 但是为了进行故障排除 有什么方法可以在绑定模板时传递一个简单的字符串 然后将其作为模板中的变量访问 例如 如果这是我的绑定 这是tmplOne div span Fruit span span span div
  • 在画布上画“洞”

    我试图在自定义视图的 onDraw 方法中绘制这样的形状 不幸的是 我无法 剪切 画布上的透明圆圈 通过使用 Color Transparent 绘制圆圈 我应该首先在另一个位图中绘制形状 然后将其绘制在 onDraw 提供的画布上吗 或者
  • PySpark 数据帧聚合中包含 null 的计数

    我正在尝试使用 agg 和 count 来获取 DataFrame 的一些计数 from pyspark sql import Row functions as F row Row Cat Date df sc parallelize ro
  • 在 Ansible 中,如何将不同文件中的变量合并到一个数组中?

    在 Ansible 中 在一个角色中 我有这样的 vars 文件 vars app1 yml app2 yml 每个文件都包含特定于应用程序 网站的变量 如下所示 name app1 git repo https github com ph
  • 在 Yii2 中,类似于 YII_DEBUG 和 YII_ENV 的全局变量应该放在哪里

    我正在建立一个网站 该网站有一个名为 市场 的 子域 所以 URL 将为 Marketplace sample com 我正在使用 Yii2 高级应用程序 并将以下代码添加到位于 frontend web 的 index php 中 def
  • 如何在 C++ 中手动运行消息泵

    原问题 我们的应用程序使用 CSocket 它需要运行消息泵才能工作 目前 更改为另一个套接字实现是不切实际的 尽管这是我们希望在某个时刻结束的地方 该应用程序采用 Visual C 非托管 目前 我们使用 C NET 服务启动器来启动 C
  • 在 debian lenny 中安装 postgres 9.0 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 各位 我的系统有以下分布详细信息 lsb release a No LSB modules are available Distributor ID
  • 如何将 DataAdapter 与存储过程和参数一起使用

    我想使用 DataAdapter 填充 DataGridView 控件 但我不知道该怎么做 因为我正在使用带参数的存储过程 有人可以举个例子吗 我明白了 呵呵 protected DataTable RetrieveEmployeeSubI
  • 如何阻止滚动条移动我的页面?

    我通过将页面内容包装在包装器 div 中 然后将其放入样式表中 将页面内容居中 wrapper width 960px margin left auto margin right auto 问题是 每当内容增加并且出现垂直滚动条时 它就会取
  • 如何计算同一类的元素数量?

    我的页面中有一个主 div 其中包含特定的内容id 现在 该类中存在一些同一类的输入元素div 那么我如何计算这个类中这些元素的数量div using jQuery With jQuery您可以使用 main div specific cl
  • java中可以有多个堆吗?

    java中可以有多个堆吗 如果可能的话 那么在什么情况下会发生呢 已经存在多个内存区域 但只有一个 Java 堆 通常有 Java heap which might be broken into 伊甸园空间 幸存者空间 任期空间 用于小型直
  • UICollectionView 和 SwiftUI?

    如何使用 SwiftUI 创建方形项目网格 例如在 iOS 照片库中 我尝试了这种方法 但它不起作用 var body some View List cellModels in Color orange frame width 100 he