在自定制cell时,通常在cell.m文件中会添加很多子视图,视图的位置通常会设置成为cell的相对位置,当使用self.frame.size.width或者self.frame.size.height来获取cell的宽高时,会发现并不是我们预想的在代理方法中写的cell的高度,打印出来会发现
width=320
height=44
是一个固定的值,即时换了模拟器这两个值还是不会变,是不是很奇怪?
其实并不奇怪,仔细想想就能明白怎么回事了。
我们在controller中写的代理方法是在cell加载到视图上才会应用到cell上,
所以说,我们在cell文件内获取到的cell的高度和宽度是系统为cell预设的值,代理方法中的cell高度还没有起作用,当cell加载完成后再去获取cell的宽度和高度就和我们预想的一样了,比如在cell的选中方法中去获取一下,就发现正常了。