iOS Cell宽度,在iphone5的时候是320,在iphone6的时候为啥也是320?

作者: littleGG 发布时间: 2019-08-15 浏览: 625 次 编辑

一个已经适配了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];
}


标签: iOS cell宽度320