一般向UITableViewCell中插入控件有两种方法:
1)使用addSubView向cell的view中插入
例:
UILabel* pLab = [[UILabel alloc] initWithFrame:CGRectMake(20, 10, 60, 60)];
[cell addSubView:pLab];
[pLab release];
2)使用addSubView向cell的contentView中插入
例:
UILabel* pLab = [[UILabel alloc] initWithFrame:CGRectMake(20, 10, 60, 60)];
[cell.contentView addSubView:pLab];
[pLab release];
如果只是写到这里的话,就没有意义了。请看下面关键区别:
上面两个代码用IOS6编译,并运行在苹果设备上,看似没有区别。
如果用IOS8编译,并运行在IOS6设备上,区别就大了。
方法一,插入的label是以cell的view为坐标系的,那么它显示到了左侧边框上。
方法二,插入的label是以cell的contentView为坐标系的,那么它能正确地显示在cell内部。
写的比较糙,仅供参考,高手请绕行。