У меня не было этой проблемы с iOS6, но в настоящее время я имею ее с iOS7. У меня есть UITableView, и вы можете видеть 8 ячеек во время загрузки представления. Каждый из них заполняется разными именами и массивами. Если вы прокрутите вниз, следующие две ячейки выглядят хорошо, но все, что прошло, получает текст поверх него; Этот текст является содержимым того, что было в предыдущих ячейках. Таким образом, 10-я ячейка будет иметь то, что было в первой ячейке, а также то, что должно быть в 10-й ячейке, лежащей поверх нее.UILabels в ячейке UITableView накладываются друг на друга в iOS7
Код:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
//Create Label for Name inside cell
UILabel *name = [[UILabel alloc] initWithFrame:CGRectMake(7.0, 5.0, 300.0, 30.0)];
[name setText:[self.entriesArray objectAtIndex:indexPath.row]];
//Check to see if current person is a Parent or Child
NSString *class = [self.database getCellDataWithMembership:[self.MembershipArray objectAtIndex:indexPath.row] andColIndex:4];
if([class isEqualToString:@"CHILD"])
{
name.textColor = [UIColor colorWithRed:25.0f/255.0f green:111.0f/255.0f blue:45.0f/255.0f alpha:1.0f];
name.font = [UIFont fontWithName:@"Helvetica-Bold" size:17.0];
}
[cell.contentView addSubview:name];
return cell;
}
Мой навык с видом таблицы является времянки в лучшем случае. Я читал много документации и исследований решений, но не смог найти решение. Мне просто кажется странным, что он отлично подходит для iOS6, но не для iOS7.
Таким образом, он выбирает имя человека из массива, и я хочу заполнить ячейки этими именами. Я был в состоянии первоначально выполнить это с помощью:
cell.textLabel.text = [self.entriesArray objectAtIndex:indexPath.row];
if([class isEqualToString:@"CHILD"])
{
cell.textLabel.textColor = [UIColor colorWithRed:25.0f/255.0f green:111.0f/255.0f blue:45.0f/255.0f alpha:1.0f];
cell.textLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:17.0];
Если я использую то, что вместо «имени» UILabel действия от первого кодового блока, то он отображает имена совершенно без какого-либо наложения текста, но что становится проблемой это цвет текста. Если они помечены как ДЕТЬ, тогда они должны быть зеленым текстом и жирным шрифтом. Однако, после прокрутки вниз, каждый человек становится зеленым, когда их не должно быть.
Извините за длительный вопрос. Я работаю над этим и ломаю свой мозг вокруг него, и я просто не могу понять это. Любая помощь будет принята с благодарностью.
Извините, но это не имеет ничего общего с моим вопросом. Я знаю, о чем вы говорите, но это не имеет значения. У меня есть ячейки в UITableView, которые в основном повторяются друг с другом. Значения Delta, к сожалению, не исправят это :( – lshaffer