问题描述
- 拖动tableview后显示重叠的问题
-
刚开始的时候,一切正常
拖动tableview一下后,就变成这样了
看了网上的一些帖子,说是重用的问题 ,然后修改了代码如下-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell *result = nil; static NSString *cellIdentifier = @"cell"; result = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; if (result == nil) { result = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; }else{ //如果result不为空,删除它的所有子视图 while ([result.contentView.subviews lastObject]!= nil) { [[result.contentView.subviews lastObject] removeFromSuperview]; } } //下面是自定义视图
但是问题依旧,还是重叠
请问这是什么问题,怎么解决?
解决方案
你这个不需要在else中删除子视图啊,直接修改相关数据不就可以了么?
解决方案二:
if(cell==nil){
// 在这个里面将 控件都初始化下,
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:dentifier];
/// 比如说 我现在添加一个UILabel
UILabel *l=[[UILabel alloc] init];
l.tag=index.row;
cell addView:l
}
然后通过tag 找到UILabel,并且给它赋值
解决方案三:
if(cell==nil){
// 在这个里面将 控件都初始化下,
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:dentifier];
/// 比如说 我现在添加一个UILabel
UILabel *l=[[UILabel alloc] init];
l.tag=index.row;
cell addView:l
}
然后通过tag 找到UILabel,并且给它赋值
时间: 2024-11-03 18:19:30