Я нашел несколько сообщений, которые похожи на мою проблему, но не совсем так.
В моем приложении пользователь может перемещаться между несколькими uitableviews, чтобы перейти к желаемому результату. Когда пользователь идет вперед, затем назад, затем вперед и т. Д., Заметно, что строки перерисовываются / переписываются, и текст становится все смелее и смелее.
Я обнаружил, что в некоторых постах это может относиться к тому, как я создаю строки, используя uilable в методе cellforrowatindexpath
.
Есть ли что-то, что мне нужно сделать, чтобы строки не пополнялись / перерисовывались каждый раз, когда пользователь перемещается вперед и назад между представлениями таблицы? Нужно ли что-то добавить в приведенный ниже код или добавить что-то в метод viewwillappear (в настоящее время в viewwillappear для таблицы есть «reloaddata», но, похоже, это не помогает)?
Вот мой код:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
UILabel *label = [[[UILabel alloc] init] autorelease];
label.font = [UIFont fontWithName:@"Arial-BoldMT" size:20];
label.frame = CGRectMake(10.0f, 10.0f, 220.0f, 22.0f);
label.textColor = [UIColor blackColor];
label.backgroundColor = [UIColor clearColor];
label.opaque = NO;
label.text = [mapareaArray objectAtIndex:indexPath.row];
[cell.contentView addSubview:label];
CustomCellBackgroundView *bgView = [[CustomCellBackgroundView alloc] initWithFrame:CGRectZero];
bgView.borderColor = [UIColor clearColor];
bgView.fillColor = [UIColor whiteColor];
bgView.position = CustomCellBackgroundViewPositionSingle;
cell.backgroundView = bgView;
return cell;
}