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

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

Ответы [ 14 ]

0 голосов
/ 25 сентября 2017

Самый простой способ добавить разделительную линию под каждую ячейку табличного представления можно сделать в самой раскадровке. Сначала выберите табличное представление, затем в инспекторе атрибутов выберите свойство разделительной линии, которое будет одной строкой. После этого выберите разделитель для вставки, чтобы быть пользовательским, и обновите левую вставку до 0 слева.

* ** 1003 тысяча два * Пример
0 голосов
/ 27 июня 2016

Вы можете попробовать ниже:

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

или

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
   UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"separator.png"]];
   imageView.frame = CGRectMake(0, 100, 320, 1);
   [customCell.contentView addSubview:imageView];

   return customCell;
}
0 голосов
/ 28 февраля 2014

Вот альтернативный способ добавить пользовательскую разделительную линию к UITableView, сделав CALayer для изображения и используя его в качестве разделительной линии.

// сделать CALayer для изображениядля разделительной линии

CALayer *separator = [CALayer layer];
separator.contents = (id)[UIImage imageNamed:@"myImage.png"].CGImage;
separator.frame = CGRectMake(0, 54, self.view.frame.size.width, 2);
[cell.layer addSublayer:separator];
0 голосов
/ 15 февраля 2012

У вас есть 2 варианта, чтобы изменить стиль разделителя для uitableview, если вы хотите изменить параметры по умолчанию, которые не являются разделителями, сплошной или вытравленной линией.

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

    Установите стиль разделителя нанет в viewDidLoad вашего просмотра таблицы:

    [self.tableView setSeparatorStyle: UITableViewCellSeparatorStyleNone];

    Установите фоновое изображение в (UITableViewCell *) tableView: (UITableView *)) tableView cellForRowAtIndexPath: (NSIndexPath *) функция indexPath

     UIImage* yourBgImg = [[UIImage imageNamed:@"bgImage.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(5, 5, 5, 5)];
    

    cell.backgroundView = [[UIImageView alloc] initWithImage: yourBgImg];

    проверить положение вашейячейка в разделе со следующим:

    NSInteger sectionRows = [tableView numberOfRowsInSection: [indexPathsection]];NSInteger row = [indexPath row];

  2. Добавить разделительную линию как ячейку.Я недавно нашел сообщение для этого здесь: http://www.dimzzy.com/blog/2012/01/separator-cells-for-uitableview/#disqus_thread
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...