Apple如何防止属性发生变化?

时间:2011-02-08 21:37:21

标签: iphone objective-c ios

获取UITableViewCell的imageView的frame属性,试图将其设置为完全有效(不会抛出任何错误)但没有效果,imageView将不会移动。

Apple如何防止在标准UIKit组件(例如UIImageView)上修改帧?

我需要在我的一个项目中实现相同的目标,但我不想仅仅为了阻止对某些属性的写访问而进行子类化。

2 个答案:

答案 0 :(得分:4)

在其所在的任何视图上覆盖layoutSubviews,并在那里设置框架。

答案 1 :(得分:0)

@property (atomic, readonly) NSJonSkeet *jonSkeet;

readonly不能与retain一起使用,你必须从你的财产中删除保留,如果它在那里。


这次我更好地阅读了你的问题:当cell.imageView.image等于nil时,Apple只会重置帧。这是为了防止textLabel和detailTextLabel前面的空格。您可以设置其框架,但UITableViewCell只需将其设置回来。