У меня есть tableView и detailView, где пользователь может изменить данные. Он отлично работал, пока я программно не изменил ячейки из подзаголовка в обычай. Теперь, когда я редактирую данные, и я возвращаюсь, я вижу, что новые данные перекрывают старый, несмотря на [self.tableView reloadData] в viewDidLoad. Изменение данных работает хорошо, потому что, если я перезапущу приложение, будут отображаться новые данные ,обновить ячейки в пользовательской таблицеView
Также разделительные линии между ячейками не покрывают всю ширину.
Просто чтобы убедиться, что здесь код для пользовательских ячеек:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UILabel *mainLabel, *detailLabel, *secondLabel;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (!cell)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
mainLabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 5.0, 220.0, 15.0)];
// mainLabel.tag = MAINLABEL_TAG;
mainLabel.font = [UIFont systemFontOfSize:14.0];
mainLabel.textAlignment = NSTextAlignmentLeft;
mainLabel.textColor = [UIColor blackColor];
mainLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight;
[cell.contentView addSubview:mainLabel];
secondLabel = [[UILabel alloc] initWithFrame:CGRectMake(100.0, 5.0, 200, 15.0)];
// secondLabel.tag = MAINLABEL_TAG;
secondLabel.font = [UIFont systemFontOfSize:10.0];
secondLabel.textAlignment = NSTextAlignmentRight;
secondLabel.textColor = [UIColor whiteColor];
secondLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight;
[cell.contentView addSubview:secondLabel];
detailLabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 20.0, 220.0, 25.0)];
// detailLabel.tag = SECONDLABEL_TAG;
detailLabel.font = [UIFont systemFontOfSize:12.0];
detailLabel.textAlignment = NSTextAlignmentLeft;
detailLabel.textColor = [UIColor lightGrayColor];
detailLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight;
[cell.contentView addSubview:detailLabel];
SNMGps *aCell = [arrayOfCell objectAtIndex:indexPath.row];
mainLabel.text = [NSString stringWithFormat:@"%@", aCell.name];
secondLabel.text = [NSString stringWithFormat:@"%d",aCell.gpsID];
detailLabel.text = [NSString stringWithFormat:@"%@",aCell.notes];
return cell;
}
Спасибо.
Не могли бы вы объяснить лучше, вы тоже видите родные метки? как для разделителя, вы строите на iOS 7? – shannoga
'reloadData' в' viewDidLoad' не будет полезен, попробуйте поместить его в 'viewWillAppear', как сказал Вирус. – Zaphod
@shannoga Да, я тоже вижу старые ярлыки и да, я строю в IOS7. Сепаратор показывает короткое время, а не только при редактировании записи. – Irene