使用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
TableView
图片
答案 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;
}