一个已经适配了iPhone6/iPhone6Plus的项目,StoryBoard/Xib中的设计视图宽度是320,在tableView:cellForRowAtIndexPath:里打印cell.size,会发现size.width在iPhone6等设备下依然是320
这是不是很奇怪?
其实不奇怪,因为你是在cell显示之前打印size的,这个时候的size还是你这个cell在StoryBoard/Xib中的设计视图中的大小。想要显示cell在屏幕上展示的实际大小,可以在layoutSubviews方法里打印
解决方法: 在自定义cell的.m文件里重写setframe就可以了
- (void)setFrame:(CGRect)frame { frame.size.width = [UIScreen mainScreen].bounds.size.width; [super setFrame:frame]; }