разделитель tableviewcell перемещен в ios 8

Я создаю таблицы и ячейки программно. Разделитель ячеек tableview перемещен в iOS 8,

введите здесь описание изображения

даже если я уже установил:

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return kSomeNumber;
}

У меня приложение ios7, а телефон ios8. В чем может быть проблема? Я не могу использовать cell.layoutMargins, который предназначен только для ios8.


person Ted    schedule 27.08.2014    source источник
comment
Не могли бы вы объяснить, что вы подразумеваете под перемещением разделителя?   -  person Mick MacCallum    schedule 27.08.2014
comment
Привет, высота ячейки такая же, но разделитель переместился вверх   -  person Ted    schedule 27.08.2014


Ответы (1)


Начиная с iOS8 у нас есть layoutMargins, который вызывает вашу строку.

Если у вас есть пользовательская ячейка, добавьте этот метод, чтобы удалить ее:

- (UIEdgeInsets)layoutMargins 
{
     return UIEdgeInsetsZero;
}

Или добавьте это в свой uitableviewcontroller:

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{

   if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        [cell setLayoutMargins:UIEdgeInsetsZero];
   }
}

ResponsToSelector необходим для поддержки iOS7.

Также проверьте разделитель iOS 8 UITableView, вставка 0 не работает, чтобы узнать больше Информация

person Sjoerd Perfors    schedule 16.09.2014
comment
Спасибо! Просто реализация -layoutMargins в моем пользовательском классе UITableViewCell сделала свое дело (и отлично работает на iOS 7). - person race_carr; 03.12.2014