Swift 3.0 中的 UICollectionViewController 错误:必须使用非零布局参数进行初始化

2023-12-05

我是 iOS 开发新手。 我一直在学习 Swift,今天,我尝试使用 UICollectionViewController。

我的代码如下:

 class ViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout {
    var colView: UICollectionView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
        layout.sectionInset = UIEdgeInsets(top: 20, left: 10, bottom: 10, right: 10)
        layout.itemSize = CGSize(width: 90, height: 120)

        colView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
        colView.dataSource = self
        colView.delegate = self
        colView.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "Cell")
        colView.backgroundColor = UIColor.white
        self.view.addSubview(colView)
    }

    func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 14
    }

    func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath as IndexPath)
        cell.backgroundColor = UIColor.orange
        return cell
    }


}

但是,当我尝试运行它时,出现以下错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'UICollectionView must be initialized with a non-nil layout parameter'

我查阅了之前讨论此问题的帖子,但找不到任何可以修复我的代码的内容。

我应该如何解决这个问题?


谢谢你!我采纳了你的建议。下面是有效的代码:

class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
    let cellId = "CellId"
    var colView: UICollectionView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let layout = UICollectionViewFlowLayout()
        layout.sectionInset = UIEdgeInsets(top: 20, left: 10, bottom: 10, right: 10)
        layout.itemSize = CGSize(width: 111, height: 111)
        
        colView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
        colView.delegate   = self
        colView.dataSource = self
        colView.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "Cell")
        colView.backgroundColor = UIColor.white
        
        self.view.addSubview(colView)
    }

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 21
    }
    
    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath as IndexPath)
        cell.backgroundColor = UIColor.orange
        return cell
    }
}

再次非常感谢你们。祝你有美好的一天:D

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 3.0 中的 UICollectionViewController 错误:必须使用非零布局参数进行初始化 的相关文章

  • swift - 仅在落地时跳跃

    我希望限制我的角色 猫 使其仅在地面 虚拟 SKNode 或树上 treeP SKNode 时跳跃 目前我没有任何限制touchesBegan因此 如果用户快速连续点击 猫就能够在空中飞翔 虽然这在其他游戏中可能很有用 但在这里不受欢迎 如
  • 接受 iOS 应用付款吗?

    在ios应用程序上实现支付系统可以吗 我想制作一个应用程序 可以浏览我的电子商务网站上的产品 然后让人们在我的应用程序上购买产品 我问这个问题是因为我听说它违反了苹果的政策 这显然取决于所出售的商品 当然 最终的答案只能从你的律师对苹果协议
  • 当我的应用程序在 iOS 上终止时,保存 NSUserDefaults 的正确方法是什么

    我需要拯救我的NSUserDefault当我的应用程序在 iOS 中完全退出时 不是didenterbackground and foreground 仅当用户在 iOS 中使用减号 终止我的应用程序时 所以我在中编写以下代码applica
  • 为什么是!在 Swift 中称为“隐式”而不是“显式”解包可选?

    的名称 总是让我感到困惑 它被称为 隐式展开的可选 然而 其中隐含着什么呢 隐含的意思是 暗示但没有明确表达 但是 不添加 明确表达其目的 不添加一个 明确我们要实现的目标 在 Swift 中 尾随感叹号 有两种不同的使用方式 一种叫做强制
  • iOS:无法从 Swift 建立 RabbitMQ 连接

    我正在尝试从 Swift 连接 RabbitMQ 我已关注this https github com rabbitmq rabbitmq objc client 图书馆 创建 Pod 设置并进入工作区 已检查并核实 成功运行 viewDid
  • 如何在 AVCaptureVideoPreviewLayer 上添加叠加层?

    我正在使用 Swift 构建一个 iOS 应用程序 它需要二维码扫描仪功能 我已经使用 AVFoundation 实现了 QR 码扫描仪 现在我的捕获屏幕看起来与视频录制屏幕相同 即AVCaptureVideoPreviewLayer显示相
  • 裁剪图像和中心

    在 Swift 中如何裁剪图像并将其放在中心 我已经裁剪了图像 但想将其放在中间 ImgView image OrigImage var masklayer CAShapeLayer masklayer frame ImgView fram
  • 有没有办法检查 iOS 设备是否锁定/解锁?

    我在我的应用程序中使用了 GPS 位置更新 我想检测 iOS 设备是否处于睡眠模式 以便我可以关闭 GPS 位置更新并优化电池使用 我已经在iOS 6中尝试过pausesLocationupdates 但它无法按预期工作 我想在设备进入睡眠
  • 将警报视图“是”按钮设置为粗体,将“否”按钮设置为正常

    我有警报视图 其中有 是 和 否 选项 看起来像下面这样 使用的代码是 UIAlertView confAl UIAlertView alloc initWithTitle message Are you sure delegate sel
  • WGS84 iOS 上外部 GPS 数据的大地水准面高度高度偏移

    对于我正在编写的应用程序 我们将 IOS 设备与外部传感器连接起来 该传感器通过本地 WiFi 网络输出 GPS 数据 该数据以相对于海拔高度的 原始 格式出现 一般来说 所有 GPS 高度都需要应用与基于当前位置的 WGS84 大地水准面
  • iOS Facebook Like 按钮无法与 iOS 应用程序配合使用

    尝试将 Facebook Like 按钮添加到 iOS 应用程序中 按照网上的说明进行操作 发现一个问题 模拟器上没有安装 Facebook 应用程序 8 x 7 x 当按下 F Like 按钮时 我们会看到切换到 Facebook com
  • 致命错误:在解包可选值时意外发现 nil (lldb)

    override func prepareForSegue segue UIStoryboardSegue sender AnyObject if segue identifier showLocalMenuDetail if let in
  • UniversalLink 不适用于 iOS 14 设备,但在模拟器上运行良好

    以下解决方案可以在模拟器上支持universalLink 我有一个支持 UniversalLink 的应用程序 用户单击网站中支持的链接 将导航到应用程序中的功能 但它无法在 iOS 14 beta 4 上运行 它不是打开应用程序 而是打开
  • 钥匙串组访问权限可在我的现有应用程序之间共享数据

    我在 AppStore 上有很多 iOS 应用程序 现在 对于下一个版本的应用程序 我想为每个应用程序保留一段数据以在 KeyChain 中共享 据我所知 我需要在 Apple 的 KeychainItemWrapper 类中提供相同的 K
  • TDD VS BDD:REST 服务

    我对 TDD 与 BDD 很困惑 TDD 和 BDD 在以下各点上有何不同 开发 先测试用例 再开发 RestService HTTP 不进行休息调用 如果是这样 a 我们是否使用模拟对象仅返回硬编码的 json b 如何处理 REST 调
  • 如何使 TextField 右对齐(尾随)

    我正在努力拥有一个价值文本域以尾随对齐方式显示 正如你所看到的价值34 3以前导对齐方式显示 我确信我错过了一些明显的东西 但我不知道是什么 有任何想法吗 State private var endwert 34 3 var numberF
  • 在 SpriteKit 中,touchesBegan 是否与 SKScene 更新方法在同一线程中运行?

    在 Apple 文档中高级场景处理 https developer apple com library ios documentation GraphicsAnimation Conceptual SpriteKit PG Actions
  • 如何在 React Native 应用程序中的 iOS 后台运行 socket.io?

    我在用socket io in an iOS React Native v0 20 app 该应用程序会跟踪我的位置 当我的位置发生变化时 它会向服务器发送一条消息 如果套接字连接丢失 服务器会发送电子邮件通知我 我在后台进行位置跟踪反应本
  • 禁用应用程序的启动图像

    我想从我的应用程序禁用启动图像 我已经有一个启动屏幕 因此在应用程序启动时首先显示启动图像 然后显示启动屏幕 我想禁用启动图像并仅在应用程序启动时显示启动屏幕 请帮忙 提前致谢 你不能 因为它会一直保持到你的程序被加载并从applicati
  • 在 Swift 中将 UIImage 转换为 NSData 并转换回 UIImage?

    我正在尝试保存一个UIImage to NSData然后阅读NSData回到一个新的UIImage在斯威夫特 要转换UIImage to NSData我正在使用以下代码 let imageData NSData UIImagePNGRepr

随机推荐

  • RapidMiner 在 Java 应用程序中的集成

    我在 RapidMiner 中有一个文本分类过程 它从指定的Excel表格中读取测试数据并进行分类 我还有一个小型 Java 应用程序 它正在运行这个进程 现在我想在我的应用程序中创建文件输入部分 以便每次我都能够从我的应用程序 而不是从
  • 沿一个方向偏移多段线

    我正在寻找一种方法来偏移通过 xy 坐标在一个方向 在 R 中 定义的任意曲线 我可以使用 polyclip 包在两个方向上偏移曲线 library polyclip gt polyclip 1 10 0 built from Clippe
  • 为什么哈希图查找是 O(1) 即常数时间?

    如果我们从 Java 的角度来看 那么我们可以说 hashmap 查找需要恒定的时间 但内部实施又如何呢 它仍然需要在特定的存储桶 哪个键的哈希码匹配 中搜索不同的匹配键 那么为什么我们说哈希图查找需要恒定的时间呢 请解释 在对所使用的哈希
  • 闪亮的 Favicon 使用 URL 但不使用本地文件路径

    我正在尝试向我的 R Shiny 应用程序添加一个图标 并且我想使用本地图像文件 以便它可以在没有互联网连接的情况下运行 使用埃姆斯给出的例子here我有一个程序 当它使用 NOAA 徽标的 url 时 它将显示网站图标 但是 当我将该确切
  • Delphi 中的这些 Windows API 签名有什么区别?

    在 Delphi 中查看 Windows pas 我发现有几个签名 LoadLibrary A or W 用于加载特定模块 它们之间有什么区别 我是否可以相信始终为所有类型的 Windows 平台调用 LoadLibrary Windows
  • c# GDI+,在循环中创建 LinearGradientBrush(内存泄漏)

    今天我遇到了一个两难的境地 我创建了一个使用 GDI 在表单上绘图的应用程序 每秒由计时器触发绘图 draw 方法使用 for 循环来迭代对象集合 如果它们处于某种状态 则绘制它们 我想使用 LinearGradientBrush 来绘制它
  • 使用服务别名进行依赖注入

    在我的应用程序中 我有短信服务 该服务是一个简单的 POPO 它采用驱动程序的实例来执行实际的 SMS 功能 想象一下我有两个司机 mock driver and gateway driver它们在中被定义为类似的东西services部分
  • 在 r 中重组数据:reshape、dcast、melt...似乎对此数据框不起作用

    这是我导入的数据帧的前几行的示例 在完整数据集中 主题变量总共有五个级别 因子 其他两个是代数 II 和几何 SID firstName lastName subject sumScaleScore sumPerformanceLevel
  • Powershell:从同一对象中引用另一个对象属性中的对象属性?

    晚上好 各位 只是一个小问题 是否有可能 我知道我可以通过将其称为空对象然后一一添加属性来做到这一点 Obj New Object PSObject Obj name hello Obj type Obj name world 有没有办法将
  • 如何访问文档文件夹

    我已将所有日志重定向到应用程序文档文件夹中的文件 我知道如何通过 xcode 访问它 我必须将我的 ipad 连接到 MAC 并在 xcode 中通过 Organizer gt device 我可以访问文档文件夹 现在我想在没有 xcode
  • 如何有效地查找 Firebase 中一组节点是否包含另一组节点中包含的元素?

    我正在构建一个社交媒体数据库架构 其中有用户 关注者 标签和帖子 为了符合 firebase 模型 我按照 firebase 文档中的建议展平了结构 如下所示 我遇到的问题是 当用户选择一个标签并看到 tagPosts 表中的一堆帖子均与返
  • INT 数据库字段与 VARCHAR 类型的比较

    我有以下存储过程 没有编写完整的存储过程 但其中一些是 course int null SET query query Where course id cast course as varchar 我想知道我何时将 course 转换为 V
  • 使用 Watir 将多个文件传递到输入节点(使用 Ruby)

    所以我遇到了一些障碍 我正在尝试自动化一个测试用例 其中我需要将多个文件传递到输入节点 但我不知道如何执行此操作 我可以使用 Mechanize 或 Watir 但在自动化领域似乎相对重要的主题上发现的信息很少 在下面的代码片段中 我将 W
  • 回调还是承诺? [复制]

    这个问题在这里已经有答案了 在使用 javascript 异步错误捕获机制时 我最终问自己使用 Promise 与回调有什么区别 除此之外 Promise 可能是更糖化的语法 例如 让我们考虑 function setPromise var
  • SQL 更新、删除和插入同时进行

    我只是对某件事感到好奇 假设我有一个表 我将更新该值 然后删除它 然后插入一个新的 1 如果我以这种方式编写编码 这将非常容易 UPDATE PS EMAIL ADDRESSES SET PREF EMAIL FLAG N WHERE EM
  • 不要将 Android 上下文类放置在静态字段中;这是内存泄漏

    我有一项服务有BeaconNotificationsManager 我想访问这个BeaconNotificationsManager in my Activity 目前我的BeaconNotificationsManager is stat
  • 为什么我不能使用密集排名作为 SQL“排名分数”?

    我正在使用 SQL 中的 dendense rank 函数来解决 leetcode 的 排名分数 问题 https leetcode com problems rank scores description select Score den
  • 有条件地更改目标框架版本

    我正在尝试将 ifdef d 代码库编译到两个不同的目标框架 即 3 5 和 4 0 我尝试修改解决方案中的 proj 文件但无济于事 看来 MSBuild VS2012 没有通过 UI 获取解决方案配置更改 这是 proj 文件之一的片段
  • Vaadin 8:每 1 分钟从服务器重新加载一次网格数据

    我正在尝试为网格提供自动刷新功能 基本上 每 n 秒用来自服务器的最新数据更新网格 每当用户启用自动刷新时 我就能够实现 PollListner UI ui TestUI getCurrent Boolean value isRefresh
  • Swift 3.0 中的 UICollectionViewController 错误:必须使用非零布局参数进行初始化

    我是 iOS 开发新手 我一直在学习 Swift 今天 我尝试使用 UICollectionViewController 我的代码如下 class ViewController UICollectionViewController UICo