У меня есть обычная таблица стиля с несколькими разделами.
Признаки: при первой загрузке таблицы каждая ячейка имеет свой разделитель как обычно, за исключением последней ячейки в каждом разделе (то есть "до" заголовка). Однако при прокрутке на некоторых ячейках появляется разделитель. Кроме того, если ячейка выбрана, затем отменит выбор, появится разделитель.
Печать иерархии представлений показывает, что при чистом запуске вид разделителя последней ячейки в каждом разделе скрыт, поэтому я бы предположил, что это будет нормальное поведение:
<_UITableViewCellSeparatorView: 0x145b1990;
frame = (0 47.5; 320 0.5);
hidden = YES;
layer = <CALayer: 0x145b2950>>
При прокрутке иногда; и выбрав ячейку; это скрытое свойство удаляется, поэтому появляется разделитель.
Первое предположение заключалось в том, что я делал что-то неправильно; но это происходит и с большинством базовых приложений Hello World:
- (void)viewDidLoad {
[super viewDidLoad];
[self.tableView reloadData];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 4;
}
- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {
return 2;
}
- (NSString *)tableView:(UITableView *)tableView
titleForHeaderInSection:(NSInteger)section {
return @"test";
}
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *reuseIdentifier = @"TestCell";
UITableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:reuseIdentifier];
return cell;
}
Экраны (слева: после запуска, справа: после выбора ячейки):
Является ли это ошибкой на стороне Apple, или я что-то упускаю? Кроме того, например, в приложении IOS Contacts разделитель никогда не скрывается над заголовком раздела...
** Обновление: **
Было возможно воспроизвести это на складе. Музыкальное приложение: например. Вкладка "Песни", без шпионажа. Выберите затем снимите флажок с первой ячейки любого раздела; появляется разделитель.
Дополнительная информация: iOS 7.1