UITableView отображает разделитель в неправильном положении в iOS8 для некоторых ячеек
У нас есть UITableView, и он отлично работает для iOS7, но когда я пытался использовать симулятор iOS8, я видел, что разделитель ячеек помещен неправильно для большинства ячеек. Как ни странно, некоторые ячейки отображают разделитель правильно.
См. прикрепленное изображение:
![UITableView with wrong separator... sometimes!]()
Я установил высоту ячейки таким образом:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 70.0f;
}
Знаете ли вы, что происходит? Спасибо!
EDIT:
Обходной путь, который я использую, заключается в отключении разделителя...
[tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
... и нарисуйте его в виде ячейки...
UIView* separator = [[UIView alloc] initWithFrame:CGRectMake(20, cellHeight-1, frame.size.width - 40, 1)];
separator.layer.borderWidth = 1;
separator.layer.borderColor = [[UIColor grayColor] CGColor];
[self addSubview:separator];
... но я бы не хотел этого делать.
Ответы
Ответ 1
У меня была такая же проблема, и вот как я ее решил:
Если вы используете настраиваемую ячейку для представления таблицы и вы переопределили layoutSubviews, вам нужно вызвать метод superiew в начале метода:
- (void)layoutSubviews
{
[super layoutSubviews];
// Your implementation
}