UItableViewCell没有正确地去掉ios

时间:2014-05-17 08:56:02

标签: ios uitableview

使用UITableView并发现cells未正确出列。 这是我写的代码。我已经读过,必须覆盖prepareForReuse,但是如何使用该方法,而不是获取。请帮帮我。

  - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"cell";
    cell= [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell==nil) {
    cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
   }
    textLabel = (UILabel*)[cell viewWithTag:11];
    textLabel.font=[UIFont fontWithName:@"MyUnderwood" size:16];
    textLabel.text = [_tableLabelArray objectAtIndex:indexPath.row];

return cell;


}

以下是我在滚动UITableView enter image description here

时获得的TableView图片

2 个答案:

答案 0 :(得分:0)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"cell";
UITableViewCell *cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.textLabel.text = [_tableLabelArray objectAtIndex:indexPath.row];
cell.textLabel.font=[UIFont fontWithName:@"MyUnderwood" size:16];
return cell;

}

答案 1 :(得分:0)

我不确定这是否会解决您的问题,但此代码使用本地UICell *变量,使用self.tableLabelArray而不是直接访问属性iVar并使用textLabel属性而不是按标签搜索

我怀疑你的cell变量是一个iVar,而不是一个本地因此可能会给你带来问题,因此这可能有所帮助,但也可能是你需要一个小于16的字体,所以我指定了adjustsFontSizeToFitWidth=YES

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
  static NSString *CellIdentifier = @"cell";
  UITableViewCell *returnCell= [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
  if (returnCell==nil) {
    returnCell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
 }
 returnCell.textLabel.font=[UIFont fontWithName:@"MyUnderwood" size:16];
 returnCell.adjustsFontSizeToFitWidth=YES;
 returnCell.text = [self.tableLabelArray objectAtIndex:indexPath.row];

 return returnCell;
}