iOS UICollectionView 原型单元格大小属性被忽略

2024-04-08

我正在使用带有两个原型单元的 UICollectionView。原型单元具有不同的宽度并包含不同的控件(图像视图和网页视图)。我肯定会为给定索引返回正确的原型单元格(所有单元格都显示正确的内容),但原型单元格大小将被忽略,而会使用集合视图的项目大小。这不像我手动设置大小。如果该属性在实际显示时被忽略,那么允许在故事板中调整原型单元的大小有什么意义?


故事板编辑器中单元格的大小只是为了帮助您设计单元格。由于每个原型单元格可以具有不同的大小,因此 UICollectionView 不知道为所有单元格选择哪个单元格的大小。这就是为什么您要单独设置单元格的实际大小。您可以在设计器中通过选择集合视图并在“集合视图大小”标题下的大小检查器中设置其单元格大小宽度和高度来完成此操作。

或者,您可以重写以下方法并返回一个 CGSize 对象,该对象指定要用于每个单元格的大小。使用这种方法,您实际上可以让每个单元格具有不同的大小:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath

例子:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
    return CGSizeMake(100, 100);
}

您的视图控制器需要成为 UICollectionViewDelegateFlowLayout 的委托才能调用此方法。因此,不要忘记将该委托声明添加到视图控制器的 .h 文件中,例如:

@interface MyViewController () <UICollectionViewDelegateFlowLayout>

Swift

extension MyViewController : UICollectionViewDelegateFlowLayout {
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: 100, height: 100)
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS UICollectionView 原型单元格大小属性被忽略 的相关文章

  • Angular/ HTML5 到 iOS WKWebView 通信

    我们正在尝试看看发送信号的最佳选择是什么To iOS WKWebView fromAngular 6 HTML5 项目 任何示例都会很棒 我们想要做的是 我们在 Angular 网页上有一个按钮 单击该按钮应该通知 iOS 执行某些操作 我
  • 如何更改某些功能以兼容 iOS 10 或更低版本的 Snapchat 中的某些功能,例如相机视图控制器

    我正在制作一个视图控制器来制作像 snapchat 相机一样的相机视图控制器 我下面的代码在 iOS 11 或更高版本上完美运行 老实说 我并没有真正掌握我的代码 因为我只是按照这个像相机视图控制器这样的 snapchat 的教程进行操作
  • NSNotification 与dispatch_get_main_queue

    和 关联这个问题 https stackoverflow com questions 7905192 iphone grand central dispatch main thread我想知道关于何时使用 NSNotification 在主
  • Xcode - 免费清除设备文件夹?

    我正在删除一些文件夹和文件 以便在驱动器上腾出更多空间 我知道在路径中 Library Developer CoreSimulator Devices 每个模拟器和每个版本都有文件夹 这个文件夹对我来说大约有 11GB 大小 我知道我可以删
  • iOS 上邮件到达时收到通知吗?

    当邮件到达标准邮件应用程序时 有没有办法让应用程序收到通知 更准确地说 我想编写一个应用程序 它能够从标准邮件应用程序读取传入的电子邮件 其中包含自定义 txt 格式的新联系人或事件 然后 应用程序应将此新联系人 事件添加到 ipad 反之
  • 以编程方式进行排序时检索 ViewController 堆栈

    static func showMenuView parentVC UIViewController let storyboard UIStoryboard name Main bundle nil let resultController
  • 如何在 Cocoa with Core Data 中上传和存储文件?

    我有一个应用程序 我希望能够将文件上传到其中 我可以想象序列化数据 将其放入数组中 然后序列化数组并将其放入核心数据中 但这似乎不太正确 我还可以想象将文件复制到应用程序的支持文件中 获取这些文件的 NSURL 并存储数组或 NSURL 无
  • iOS swift 应用程序启动时出现黑屏

    我有个问题 当我启动我的应用程序时 会看到黑屏几秒钟 然后出现启动屏幕 我的启动画面不是默认的 我使用了视图控制器 因为我的启动画面有一个动画 我搜索了一个解决方案 我得到了这个 在我的闪屏加载 iPhone 之前出现黑屏 https st
  • 剪裁为形状的 SwiftUI 图像在上下文菜单中具有透明填充

    在我的 SwiftUI 应用程序中 我的资产目录中有一张宽高比为 1 1 的图像 在我的代码中 我有一个Image使用不同的宽高比查看 将图像裁剪为新尺寸 Image My Image resizable aspectRatio conte
  • 同一应用程序的不同版本取决于设备(应用程序商店)

    我已经将我的游戏提交到App Store并更新了 现在最新版本是每个下载我游戏的人都应该得到的版本 对吗 现在的问题是 当我从 iPad mini 上的 App Store 下载游戏时 我得到的是正确的版本 但是当我从 iPad 2 下载游
  • UINavigationControllerDelegate的didShowViewController方法被调用了两次

    class ViewController UIViewController UINavigationControllerDelegate override func viewDidLoad super viewDidLoad navigat
  • ios 8 opengl es 1.1 已停产?

    我们即将在 iOS 应用商店上推出一款游戏 最近我们发现它无法在 iOS 8 上运行 游戏加载到黑屏 但其他一切似乎都可以运行 可以听到音乐 对触摸屏有反应 但显示屏上没有任何反应 我们的引擎相当旧并且使用 OpenGL ES 1 1 我现
  • 在flutter中跟踪背景位置时使用background_locator插件时出现问题

    我正在尝试使用 flutter 跟踪后台位置 为此我正在使用背景定位器 https pub dev packages background locator插入 它的实现方式是注册某些静态回调函数 我声明了一个 File 类型的类变量来在后台
  • NSPredicate 查询不包含特定字符串

    对这个问题进行了高低查找 但找不到我的答案 我正在查询核心数据以查找不等于指定字符串的所有记录 例如 所有不等于当前会话ID的记录 我已经尝试过这些但无济于事 NSPredicate predicate NSPredicate predic
  • 应用程序在第二次运行 nsnull 计数的循环时崩溃

    我有一个循环 第一次运行正常 但第二次循环时我得到 NSNull count unrecognized selector sent to instance 0x3a094a70 Terminating app due to uncaught
  • prepareForSegue 和代表

    我有一个有两个 segue 的应用程序 在其中一个 Segue 中 当前视图控制器成为委托 而另一个则不是 void prepareForSegue UIStoryboardSegue segue sender id sender if s
  • CNContact 添加新的联系人问题

    我在通过以下方式添加联系人时遇到问题联系框架 我使用的是装有 iOS 12 1 2 的 iPhone 5s 设备 我添加联系人的代码如下 let saveRequest CNSaveRequest saveRequest add self
  • 使用prefersLargeTitles 和 UITableView 平滑滚动

    我在使用时遇到了滚动问题prefersLargeTitles并添加了UITableView 如果我设置prefersLargeTitles在导航控制器中 其根是UITableViewController一切都很好 导航大标题的滚动方式与我们
  • iOS UITableViewCell 配件在左侧?

    对于我的应用程序 我想要一些可以同时具有复选标记和详细信息披露按钮的单元格 也就是说 我希望它们看起来与 iOS 设置中的 Wi Fi 网络选择一模一样 左侧的复选标记 中间的内容 右侧的详细信息披露按钮 有没有正确的方法来做到这一点 或者
  • cordova-plugin-whitelist 适用于 Android,但不适用于 iOS (Phonegap Build)

    我正在开发一个用 Cordova 封装并使用 Phonegap Build 构建的 JavaScript 应用程序 我们包括cordova plugin whitelist来自我们构建中的 npm 并添加了

随机推荐

  • 如何启用或禁用键盘返回键[重复]

    这个问题在这里已经有答案了 当我们在文本字段中输入字符时 它会启用返回键 但是在我们的需求中 当长度大于5时 我们需要启用返回键 但是现在只要我们输入字符 它就会启用返回键 我们是否需要自定义键盘或者是否有其他可用的解决方案 提前致谢 好吧
  • 如何编写正则表达式从字符串中提取数值?

    我有一根绳子str 9 0 hr or str 9 0 hr 在这种情况下我只想要整数值9 0 语言是 Ruby 1 9 2 I d use number str d d 或者 如果小于 1 0 的值需要前导 0 number str d
  • 光栅化 matplotlib 轴内容(但不包括框架、标签)

    在一篇文章中 我正在生成变形有限元网格图 并使用 matplotlib 的 polycollection 对其进行可视化 图像保存为 pdf 高密度网格会出现问题 这种简单的方法会导致文件太大且渲染过于密集而无法实用 对于这些网格 将每个元
  • 在 R 中使用具有不均匀长度变量的熔化/铸造

    我正在处理一个想要旋转的大型数据框 以便列中的变量成为顶部的行 我发现 reshape 包在这种情况下非常有用 除了强制转换函数默认为 fun aggregate length 之外 大概这是因为我是按 案例 执行这些操作 并且测量的变量数
  • 当返回类型为 Option[Error] 时处理快速失败

    我已经发布了很多关于 Scala 中的故障处理的问题 我真的感谢大家的回答 我理解在处理 Either 和 Scalaz 或 a 时的选择 以便理解 我还有另一个 最后一个 问题 当操作处理外部非功能世界 例如数据库 时 如何执行快速失败的
  • 在 SQL 数据库中保持 RSS 提要唯一的最佳实践

    我正在开发一个项目 该项目显示来自不同站点的 RSS 提要 我将它们保存在数据库中 我的程序每 3 小时获取一次并将它们插入到 SQL 数据库中 我希望提供者有独特的记录 不要显示重复的内容 但问题是一些提供商不提供 GUID 字段 而其他
  • 全局 $sce.trustAsResourceUrl()

    我怎样才能做这样的事情 sce trustAsResourceUrl URL HERE 在全球范围内 就像在主应用程序中一样config or run 函数 以便任何 iFrame img src 等具有URL HERE将工作 文档对此的解
  • 在rabbitmq配置spring boot中在AMQP中配置多个Vhost

    我正在实现一个项目 我必须在rabbitmq中的不同虚拟主机之间发送消息 使用 SimpleRoutingConnectionFactory 但得到 java lang IllegalStateException 无法确定查找键的目标 Co
  • 休眠:不想节省毫秒

    我遇到了一个小问题 我在网上没有找到合适的解决方案 因为我的问题对于搜索引擎来说有点棘手 有很多关于休眠节省毫秒的主题 但我的问题是别的 事实上 我有一个数据库 它保存我的日期 如下所示 2014 03 20 10 58 09 I used
  • 如何使用 cartopy 添加点特征形状文件以进行地图绘制

    我有两个形状文件 一个是点要素形状文件 名为 point shp 另一个是名为 polygon shp 的多边形形状文件 我想使用 cartopy 添加到地图中 我设法添加 polygon shp 但添加 point shp 失败 这是我的
  • android gradle MonkeyTalk 构建问题

    我正在使用 MonkeyTalk 来进行写入测试这个演示 https github com georgepapas android gradle monkey talk demo 我正在使用 AndroidAnnotations 2 7 1
  • gridview 中 nvarchar 附近的语法不正确

    我在更新 gridview 的列时遇到问题 当我尝试更新该字段时出现此错误 nvarchar 附近的语法不正确 必须声明标量变量 pid 这是我的一段代码
  • 使用下拉列表在 Plotly 中交互式过滤数据表

    我正在尝试制作一个交互式表格 其中通过从下拉列表中选择一个值来更改表格的值 这应该只在 Plotly 而不是 Dash 中完成 因为我需要与其他用户共享文件 例如 如果我选择通道 1 那么表格应该是 Date A item B item C
  • 以编程方式切换 UIAlert 控制器

    我正在快速创建一个注册对话框 其中包含 3 个文本字段和一个开关 并且我成功添加了三个文本字段和两个警报 下面的代码显示了相同的内容 let alertController UIAlertController title Register
  • Mendeley API - 如何使用 JavaScript SDK - 隐式流身份验证

    我希望您不会介意我提出问题 因为我不是程序员 需要 傻瓜式 解释 虽然我可以使用基本的 JavaScript 但我从未使用过 API 这就是我想做的 我在硬盘上制作了一个 HTML 页面 我最终希望将其与 PhoneGap 之类的东西打包到
  • 在 iCarouselTypeRotary 视图中隐藏背面图像

    我已将图像设置为轮播 https github com nicklockwood iCarousel 当我滚动轮播时 它会显示正面和背面的图像 我不想在后面显示图像 请帮忙 谢谢 您应该实现委托 CGFloat carousel iCaro
  • HTML 输入值更改

    我有一个 PHP 更新页面 其中显示一个包含数据库中的值的文本字段 就是这样 并且正在工作
  • 按最新回复时间排列论坛帖子

    在你喊之前ORDER BY id 情况就大不相同了 我被要求建立的论坛是一个留言板论坛 未注册的用户可以在其中回复和发帖 对帖子的回复缩进在被回复的帖子下方 当然 这都是无序列表中的 一个简短的例子 主帖 回复帖子 对回复的回复 另一个回复
  • jupyter 笔记本显示 matplotlib 错误键“text.kerning_factor”的错误消息

    import pandas as pd import numpy as np import matplotlib pyplot as plt 第 4 行的错误键 text kerning factor home samyak anacond
  • iOS UICollectionView 原型单元格大小属性被忽略

    我正在使用带有两个原型单元的 UICollectionView 原型单元具有不同的宽度并包含不同的控件 图像视图和网页视图 我肯定会为给定索引返回正确的原型单元格 所有单元格都显示正确的内容 但原型单元格大小将被忽略 而会使用集合视图的项目