从 UICollectionViewCell 实例访问图像时遇到问题

2023-12-24

我正在按照本教程对我的项目进行一些修改:http://www.appcoda.com/ios-programming-uicollectionview-tutorial/ http://www.appcoda.com/ios-programming-uicollectionview-tutorial/

我正在尝试获取 IB 为我创建的 UIImageView 实例。

这是我的IB的截图:

我有一个名为 FeedViewCell 的自定义类,其中包含 UIImageView。这是 cellForItemAtIndexPath 代码:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *identifier = @"Cell";

    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];

    UIImageView *imageView = (UIImageView *)[cell viewWithTag:100];
    imageView.image = [UIImage imageNamed:[postPhotos objectAtIndex:indexPath.row]];

    return cell;
}

问题是 UIImageView *imageView = (UIImageView *)[cell viewWithTag:100];返回为零。无论如何,使用 viewWIthTag 方法对我来说似乎很奇怪,但在调试器中我没有看到 imageView 是 UICollectionViewCell 子视图的迹象。如果您查看此调试屏幕,您可以看到该单元格似乎没有任何 UIImageView 子视图:

但是我看到 2 个 UIImageViews 作为 CollectionView 的子视图。

所以看来我在IB中做错了什么。这并不奇怪,因为我似乎总是与 IB 作斗争(查看代码至少我可以看到发生了什么)。

感谢您的任何建议!

更新:我放弃使用 IB 挂钩 ImageView 并尝试在代码中创建它,如下所示:http://cl.ly/QFxs http://cl.ly/QFxs

图像无法正常显示。如果您查看屏幕截图(调试器),您将看到图像和 imageViews 都是有效的对象。


我认为在这种情况下你不需要使用标签。您可以在 FeedViewCell 中创建 UIImageView 属性,然后在界面生成器中将其连接起来,然后在

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

例如

// 在 FeedViewCell 中

    @interface FeedViewCell  : UICollectionViewCell

    @property (weak, nonatomic) IBOutlet UIImageView *imageView;

    @end

// 在控制器中

    - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
        static NSString *identifier = @"Cell";

        FeedViewCell *cell = (FeedViewCell *) [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];

        cell.imageView.image = [UIImage imageNamed:[postPhotos objectAtIndex:indexPath.row]];
        return cell;
    }

Open up storyboard then click the assistant editor button which will bring up the another window. Open the feedViewCell.h there and ctrl+click on the imageView and drag it to the .h file that will give you a menu to create the outlet. You can give it the name to the imageView Property. That should be it. enter image description here

查看此链接以获取更多信息http://klanguedoc.hubpages.com/hub/IOS-5-A-Beginners-Guide-to-Storyboard-Connection http://klanguedoc.hubpages.com/hub/IOS-5-A-Beginners-Guide-to-Storyboard-Connection

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

从 UICollectionViewCell 实例访问图像时遇到问题 的相关文章

  • 如何检测 UISwipeGestureRecognizer 的结束?

    来自苹果文档 滑动是一种离散手势 因此每个手势仅发送一次关联的操作消息 void touchesEnded NSSet touches withEvent UIEvent event 当我使用 UISwipeGestureRecognize
  • 使用远程图像创建 MSSticker

    我正在尝试找出使用网络上托管的图像创建 MSStickers 的方法 我可以使用本地图像创建 MSStickers 例如 NSString imagePath NSBundle mainBundle pathForResource imag
  • NSCFData isRessized 崩溃?

    我目前在控制台中收到此崩溃日志 2011 08 23 19 18 40 064 App 1697 707 NSCFData isResizable unrecognized selector sent to instance 0x11f1c
  • 无法连接到 iTunes Store(获取应用内购买列表)

    我正在尝试从我的应用程序的应用程序内购买项目商店中获取列表 这是我所做的 安装了新的配置文件并启用了应用内购买 替换配置文件很棘手 但我认为我的设置是正确的 验证税务和银行信息是否正常 该应用程序已在商店出售 创建测试用户 在测试设备上以测
  • `navigator.geolocation.getCurrentPosition()` 在 iOS PWA 上挂起

    我有这个片段 const getCurrentPosition gt new Promise
  • React-native-vision-camera无法访问后面的普通摄像头

    我正在尝试在 iPhone 11 Pro 上使用 普通 相机 我使用反应本机视觉相机 当我运行这段代码时 const devices useCameraDevices const deviceBack devices back consol
  • locationOfTouch 和 numberOfTouches

    你好 我有这个识别器 设置为 2 次触摸 但它只返回一个 而不是两个 CGPoint void gestureLoad UIGestureRecognizer recognizer recognizer UITapGestureRecogn
  • dyld:无法加载插入的库

    当我尝试运行 UI 和单元测试时 出现异常 dyld 无法加载插入的库 private var containers Bundle Application AutoTestingApp app Frameworks IDEBundleInj
  • 如何让UITextView背景线与文字对齐?

    我正在尝试绘制 UITextView 的背景线 这是我用来画这些线的代码 CGContextBeginPath context CGContextSetStrokeColorWithColor context self horizontal
  • 从命令行添加 Xcode 开发者帐户

    我正在尝试使用xcodebuild allowProvisioningUpdates在我只能通过命令行访问的计算机 Azure Devops macOS 托管计算机 上 不幸的是 根据man xcodebuild为了使用 allowProv
  • 会话重新启动后 AVcapture 会话启动缓慢

    我有一个主视图控制器 它连接到具有 avcapturesession 的第二个视图控制器 我第一次从主视图控制器转向捕获会话控制器 大约需要 50 毫秒 使用 仪器 检查 然后我从捕获会话返回到主视图控制器 然后从主控制器返回到 avcap
  • AVAssetExportSession 无法导出从 iCloud 下载的视频

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

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

    我一直在关注这个tutorial http www appcoda com ios programming sidebar navigation menu 有一个滑出式菜单 我添加了一个 TableViewController 它将显示文章
  • 在实例化对象之前是否可以检查故事板中是否存在标识符?

    在我的代码中我有这一行 但我想知道是否有办法检查是否 一些控制器 在我将它与 一起使用之前就存在实例化ViewControllerWithIdentifier 方法 如果标识符不存在 则应用程序崩溃 如果没有好的方法 这并不是一个大问题 我
  • UIView 圆角 - Swift 2.0?

    我会尝试将一些项目更新到 Swift 2 0 我有一个视图 左上角有一个圆角 在 Swift 没有警告 没有错误 只是没有圆角 这就是它在 Swift let maskPath UIBezierPath roundedRect conten
  • 叠加 SKScene 未显示

    我正在尝试将 SKScene 覆盖在 SCNScene 上 当我在模拟器和 iPhone6 上运行我的应用程序时 overlayScene SKScene 按预期显示 但是当我尝试在 iPhone5 上运行它 尝试了 2 个不同的设备 时
  • iOS:如何知道 reloadData() 已完成其任务?

    我想滚动到给定索引 self boldRowPath 但是当我调试时scrollToRow之前执行reloadData 如何知道reloadData已完成 func getAllTimeEvent self arrAllTimeEvent
  • 在 Swift 中从 Parse 加载图像

    我成功地将数据从 Parse 提取到 swift 中 但我的图像似乎没有按照我的方式工作 在我的 cellForRowAtIndexPath 方法中 我执行以下操作 var event AnyObject eventContainerArr
  • ios - 如何声明静态变量? [复制]

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

随机推荐

  • WordPress 上的 Google Analytics 事件跟踪

    我试图在单击特定菜单项时发送事件 我的头脚本如下
  • BI 设计器多对多关系

    我是 Microsoft Power BI 设计器的新手 注意到了这一点文档 https support powerbi com knowledgebase articles 464155 create and manage relatio
  • 使用霍夫变换、OpenCV 和 python 进行平行线检测

    我需要有关我一直在研究的算法的帮助 我试图检测阈值图像中的所有线条 检测所有线条 然后仅输出平行的线条 阈值图像输出我感兴趣的对象 然后我通过精明的边缘检测器过滤该图像 然后将该边缘图像通过概率霍夫变换 现在 我希望该算法能够检测任何图像中
  • 将 Java byte[] 对象插入 H2 表中,然后再次检索它

    我正在尝试将 Java byte 插入 H2 数据库表中 然后再次检索它 但我没有取得成功 根据这一页 http www h2database com html datatypes html binary type BINARY 数据类型直
  • 无法使用 jdbcStorageHandler 创建 Hive 外部表

    我正在 Amazone EMR 中运行一个小型集群 以便使用 Apache Hive 2 3 5 据我了解 Apache Hive 可以从远程数据库导入数据并让集群运行查询 我正在遵循 Apache Hive Web 文档中提供的示例 ht
  • 遵循 Python/Flask Heroku 教程时出现“foreman start”错误

    遵循所有指示 运行的时候出现这个错误foreman start C Program Files x86 ruby 1 9 3 lib ruby gems 1 9 1 gems foreman 0 47 0 lib fo reman engi
  • 使窗口成为桌面的一部分

    我想创建一个窗口 CreateWindowEx WS EX TOOLWINDOW WS EX LAYERED wc lpszClassName 0 WS POPUP WS VISIBLE WS SYSMENU a part桌面的 我知道这可
  • 2020 年以上,Typescript 在运行时使用类型防护按类型或接口检查对象

    对我来说 大多数时候 需要动态检查来验证获取响应 我在想 对于具有多个道具和附加检查的任何类型的对象 可以使用用户定义的类型保护以通用方式完成此操作 因此可以使用类似的方法 这是一个带有示例对象的示例 但我想要一个没有它的函数 https
  • postgresql 中的慢 OR 语句

    我目前的 postgresql 查询由于 OR 语句而变慢 因此 它显然没有使用索引 到目前为止 重写此查询失败 查询 EXPLAIN ANALYZE SELECT a0 id AS id0 FROM advert a0 INNER JOI
  • 抑制 Xcode 中已弃用的警告

    由于所有 SDK 都在使用 因此能够方便地针对多个 SDK 和平台进行构建 然而 从 3 2 跳到 3 0 甚至偶尔跳到 2 x 我经常收到涉及已更改或被取代的方法的弃用警告 warning UIKeyboardBoundsUserInfo
  • JPA - 仅针对给定查询强制延迟加载

    如何仅针对给定的 NamedQuery 实施延迟加载策略 例如 考虑下面的伪代码 只是为了解释这种情况 我有一个实体 Entity class Xyz int a int b Fetch EAGER Set
  • pandas 数据框 groupby 和 join

    让我们假设有这样的 np random seed 123 df pd DataFrame A foo bar foo bar foo bar foo foo B one one two three two two one three C n
  • NLTK - 获取并简化标签列表

    我正在使用布朗语料库 我想要某种方法来打印所有可能的标签及其名称 而不仅仅是标签缩写 标签也不少 有没有办法 简化 标签呢 我所说的简化是指将两个极其相似的标签合并为一个 然后用另一个标签重新标记合并后的单词 之前以某种方式讨论过 Java
  • 仅 DIV 的两列 CSS 布局

    我正在重新设计当前使用表格进行两列设计的布局 并遇到了一些问题 div div div blah div div div div blah div div blah div div div leftCol margin right 10px
  • 如何使用反射获取泛型类的名称?

    如何使用反射获取泛型类的名称 eg public class SomeGenericClass
  • Android 地理围栏的最大限制?

    我从 Google Play 服务的地理围栏 API 开始 我想我理解了一般概念 但我不知道地理围栏是否有限制 我将地理围栏列表提供给位置客户端 然后由他处理其余的事情 但是我可以将多少个地理围栏传递给位置客户端 我想要多少就多少 每个设备
  • 直接在 .htaccess 文件内生成随机数

    目前我正在添加一个随机数到我的结束Ajax通过 Javascript 或 PHP 的 URL 我想知道我是否可以在我的内心做同样的事情 htaccess文件 当我使用 mod rewrite 重写它们时 有什么办法可以制作一个随机数 or
  • ng-click刷新页面而不是提交

    您好 我有一个有角度的 Web 表单 它接受用户的输入并插入到数据库中 我正在使用 jersey jackson Rest Web 服务和 hibernate 但是当我尝试提交表单时 上一页有指向当前页面的超链接刷新页面并再次重新加载当前页
  • spring boot数据库错误数据源“org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration”

    我正在使用 spring boot hibernate 和 my sql 但出现错误 org springframework beans factory UnsatisfiedDependencyException Error creati
  • 从 UICollectionViewCell 实例访问图像时遇到问题

    我正在按照本教程对我的项目进行一些修改 http www appcoda com ios programming uicollectionview tutorial http www appcoda com ios programming