When I scroll my tableview, the text gets all mashed up from the cells below. It's probably cause I recreate the UILabels every time cellForRow gets loaded, but I wouldn't know how to fix it:
(UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSInteger row = [indexPath row];
NSDictionary *currentRowDictionary = nil;
if (tableView == [[self searchDisplayController] searchResultsTableView])
currentRowDictionary = [[self searchResults] objectAtIndex:row];
else
currentRowDictionary = [[self tableData] objectAtIndex:row];
NSString *voornaam = [currentRowDictionary objectForKey:@"voornaam"];
NSString *achternaam = [currentRowDictionary objectForKey:@"achternaam"];
NSString *tussenvoegsel = [currentRowDictionary objectForKey:@"tussenvoegsel"];
voornaamLbl = [[[UILabel alloc] initWithFrame:CGRectMake(5, 10, 300, 40)] autorelease];
voornaamLbl.font = [UIFont fontWithName:@"TrebuchetMS-Bold" size:19];
voornaamLbl.text = voornaam;
voornaamLbl.numberOfLines = 0;
[voornaamLbl sizeToFit];
tussenvoegselLbl = [[[UILabel alloc] initWithFrame:CGRectMake(voornaamLbl.frame.size.width + 10, 10, 300, 40)] autorelease];
tussenvoegselLbl.text = tussenvoegsel;
tussenvoegselLbl.numberOfLines = 0;
[tussenvoegselLbl sizeToFit];
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
[cell.contentView addSubview:voornaamLbl];
if ([tussenvoegsel length] != 0)
{
[cell.contentView addSubview:tussenvoegselLbl];
achternaamLbl = [[[UILabel alloc] initWithFrame:CGRectMake(voornaamLbl.frame.size.width +
tussenvoegselLbl.frame.size.width + 15, 10, 300, 40)] autorelease];
} else {
achternaamLbl = [[[UILabel alloc] initWithFrame:CGRectMake(voornaamLbl.frame.size.width + 10, 10, 300, 40)] autorelease];
}
achternaamLbl.text = achternaam;
achternaamLbl.numberOfLines = 0;
[achternaamLbl sizeToFit];
[cell.contentView addSubview:achternaamLbl];
return cell;
}