UITableView Разделительная линия - PullRequest
74 голосов
/ 26 января 2011

Как я могу изменить разделительную линию, которая появляется в конце каждой ячейки в UITableView?Я хочу иметь изображение, которое является тонким изображением линии типа разделителя.

Ответы [ 14 ]

89 голосов
/ 26 января 2011

Установите separatorStyle представления таблицы на UITableViewCellSeparatorStyleNone.Добавьте изображение-разделитель в качестве подпредставления для каждой ячейки и правильно установите кадр.

58 голосов
/ 21 мая 2013

Попробуйте это

Цель C

  [TableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];

  [TableView setSeparatorColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"Divider_line@2x.png"]]];

Swift

    tableView.separatorStyle = UITableViewCellSeparatorStyle.SingleLine
    tableView.separatorColor = UIColor(patternImage: UIImage(named: "YOUR_IMAGE_NAME")!)
29 голосов
/ 11 сентября 2012

Сначала вы можете написать код:

{    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];}

после этого

{    #define cellHeight 80 // You can change according to your req.<br>
     #define cellWidth 320 // You can change according to your req.<br>

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath  *)indexPath
    {
         UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"seprater_line.png"]];
        imgView.frame = CGRectMake(0, cellHeight, cellWidth, 1);
        [customCell.contentView addSubview:imgView];
         return  customCell;

     }
}
7 голосов
/ 16 июля 2013

Установите цвет разделителя, который будет соответствовать вашему изображению.

в viewDidLoad:

self.tableView.separatorColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mySeparatorImage"]];
5 голосов
/ 07 июля 2014

Мой проект основан на iOS 7 Это помогает мне

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

Затем поместите подпредставление в ячейку как разделитель!

4 голосов
/ 18 апреля 2012

Попробуйте это:

UIImageView *separator = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"separator.png"]];
[cell.contentView addSubview: separator];

Это пример того, как я заставил его работать очень хорошо.

Не забудьте установить стиль разделителя для табличного представления на none.

4 голосов
/ 26 января 2011

Вы можете добавить UIImageView, например, высотой 1 пункт и шириной рамки ячейки, а затем установить его начало в нижнем левом углу ячейки.

2 голосов
/ 14 октября 2016

Это определенно поможет.За работой.но установите разделитель "нет" из атрибута инспектора.Введите следующий код в cellForRowAtIndexPath method

 UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0,           
 cell.contentView.frame.size.height - 1.0,      
 cell.contentView.frame.size.width, 1)];

    lineView.backgroundColor = [UIColor blackColor];
    [cell.contentView addSubview:lineView];
1 голос
/ 09 августа 2017

Swift 3/4

Пользовательская разделительная линия, поместите этот код в пользовательскую ячейку, которая является подклассом UITableViewCell (или в CellForRow или WillDisplay TableViewDelegates для не пользовательских ячеек):

let separatorLine = UIView.init(frame: CGRect(x: 8, y: 64, width: cell.frame.width - 16, height: 2))
separatorLine.backgroundColor = .blue
addSubview(separatorLine)

в методе viewDidLoad:

tableView.separatorStyle = .none
0 голосов
/ 20 июня 2019

Вот способ сделать это через раскадровку в XCode 10.2.1. По умолчанию в качестве разделителя используется default. Установите значение none, чтобы удалить строку.

tableview_separator

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...