我正在尝试处理我应用中发生的事情...
我有一个UICollectionViewCell子类,它有一个UIImageView属性。
在该子类的init方法中,我以编程方式将imageView属性添加为类contentView的子视图:
[self.contentView addSubview:self.imageView];
在发生这种情况时,'self.imageView'属性为null,因为尚未创建imageView并将其分配给该属性。
稍后在我的cellForItemAtIndexPath方法中,我将单元格的imageView属性指定为imageView对象。
此时我希望内容视图现在有一个有效的imageView子类,但这不是我所看到的。
所以我的问题是:为什么不起作用?
我是否可以将我的'null'属性imageView添加为我的self.contentView的子视图,然后将imageView属性指定为imageView对象,然后将该对象视为contentViews子视图之一?
我希望这个问题有道理,描述真是太痛苦了!
答案 0 :(得分:2)
添加一个nil的子视图听起来不对我
我认为你使用了错误的方法。您应该在单元的init方法中实例化并添加imageView,然后在控制器的cellForItemAtIndexPath中分配像这样的图像
cell.imageView.image = the image you want...
答案 1 :(得分:1)
不,你不应该(而且你看它不起作用)。属性是对某个实例的引用。如果该实例尚不存在,那么您无法使用它。试图为未来的使用设置一些规则,它只是悄无声息。
您可以添加configureImageView:
之类的方法,然后调用它。实现将设置属性并将图像视图添加为子视图。