当重写整个UITableViewCell时候,只要所有的uiview都在重写的init中以及layoutsubviews方法中添加的时候,加载的cell中的view都不会发生重叠的现象,但是如果是在传入的数据的set方法中添加的UIView视图或者是其子视图时候,加载的cell就会发生重叠,一般的处理方法是:在外边手动的移除掉发生重叠的view,如果添加的太多,可通过设置tag值来识别重叠的view,这样就能处理这个问题。
if (!cell2)
{
cell2 = [[ZHOrderRecoderListCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"OrderRecoderCell2"];
}
else
{
//删除cell中tag值为1的view
for (int i = 0; i < cell2.subviews.count; i++) {
//移除多余的UILabel和UIButton
UIView * view = cell2.subviews[i];
if (view.tag == 1||[cell2.subviews[i] isKindOfClass:[UIButton class]]) {
[cell2.subviews[i] removeFromSuperview];
}
}
}
以上算是一个例子,可以借鉴,有什么问题可直接提出来哈