2015-11-09 4 views
0
_studentListTableView.separatorStyle =UITableViewCellSeparatorStyleSingleLine; 
_studentListTableView.separatorColor = [UIColor redColor]; 

Приведенный выше код работает отлично в iPhone, но в IPad, больше места, показывая в левой и правой боковых краев показано на рисунке ниже это поведение по умолчанию в IPad? также использовали SeparatorInset для tableview, это UIEdgeInsetsZero, хотя левая сторона показывает больше места.UITableView поведение «separatorStyle» в IPad и iPhone


Здесь зеленый цвет TableView, красный цвет сепаратор цвет, серый цвет ячейки цвет

ipad


Почему такое поведение происходит в IPad?

Примечание: в iPhone он работает нормально.

Ниже "cellForRowAtIndexPath" код

NSString *reuseIdentifier = [NSString stringWithFormat:@"%ld_%ld",(long)indexPath.section,(long)indexPath.row]; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier]; 
if(cell == nil) 
{ 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier]; 
} 
cell.backgroundColor = [UIColor grayColor]; 
cell.textLabel.text = [NSString stringWithFormat:@"Student %li",(long)indexPath.row]; 
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
return cell; 

ответ

0

Ну, вы используете iOS9? На самом деле в TableView в iOS9 есть некоторые трюки.

В iOS 9, автоматическое поле ячейки UITableView в «Readable Content», это может вызвать пробел.

Чтобы избежать этого, просто установите tableView.cellLayoutMarginsFollowReadableWidth = NO

+0

Спасибо zoww. оно работает. – bsc

+0

Кстати, вы можете создать столько объектов ячеек, как ваши объекты данных. Нехорошо создавать базы reuseIdentifier на пути index.Идентификатор повторного использования используется для идентификации ** определенного вида ** Cell. В вашем случае строка @ «studentCell» (или любая другая) будет в порядке. – zoww