Як я можу змінити рядок-роздільник, який з’являється в кінці кожної комірки в UITableView? Я хочу мати зображення, яке являє собою тонкий роздільник типу лінії.
Як я можу змінити рядок-роздільник, який з’являється в кінці кожної комірки в UITableView? Я хочу мати зображення, яке являє собою тонкий роздільник типу лінії.
Відповіді:
Встановіть separatorStyleдля перегляду таблиці значення UITableViewCellSeparatorStyleNone. Додайте зображення-роздільник як підпрогляд до кожної комірки та встановіть правильно кадр.
Спробуйте це
Завдання С
[TableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];
[TableView setSeparatorColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"Divider_line@2x.png"]]];
Стрімкий
tableView.separatorStyle = UITableViewCellSeparatorStyle.SingleLine
tableView.separatorColor = UIColor(patternImage: UIImage(named: "YOUR_IMAGE_NAME")!)
table.separatorStyle = UITableViewCellSeparatorStyle.SingleLine table.separatorColor = UIColor(red: 245/255, green: 245/255, blue: 245/255, alpha: 1.0)
Спочатку ви можете написати код:
{ [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;
}
}
tableView:cellForRowAtIndexPath:полягає в тому, що вони додаватимуть новий кожен раз, коли клітинку буде використано повторно, ніколи не видаляючи старих. Його слід додати лише один раз, тож ви робите це в UITableViewCellпідкласі.
Встановіть колір роздільника для малювання з малюнком.
у viewDidLoad:
self.tableView.separatorColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mySeparatorImage"]];
Мій проект базується на iOS 7 Це мені допомагає
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
Потім помістіть підпрогляд у клітинку як роздільник!
Спробуйте це:
UIImageView *separator = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"separator.png"]];
[cell.contentView addSubview: separator];
Це приклад того, як я змусив це працювати досить добре.
Не забудьте встановити для стилю роздільника для подання таблиці значення немає.
Ви можете додати UIImageView, який має, наприклад, висоту 1 бал і ширину кадру комірки, а потім встановити його початок у нижньому лівому куті комірки.
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
Це, безумовно, допомога. Працює. але встановіть роздільник "none" від інспектора атрибутів. Запишіть наступний код у метод cellForRowAtIndexPath
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];
[cell.contentView bringSubviewToFront:lineView];і це в основному не відображається, крім крайньої правої та лівої сторін.
Стрім 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)
in viewDidLoad метод:
tableView.separatorStyle = .none
У вас є 2 варіанти змінити стиль роздільника uitableview, якщо ви хочете змінити параметри за замовчуванням, які не містять роздільників, суцільної лінії або травленої лінії.
Найпростіший полягає у включенні фонового зображення роздільника до кожного виду клітинки. Тоді ви можете перевірити, де знаходиться ваша клітинка в поданні таблиці, щоб застосувати правильне фонове зображення, яке надасть вам роздільну лінію зверху комірки або внизу комірки.
Встановіть для стилю роздільника значення none у 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 рядок = [рядок indexPath];
Ви можете спробувати нижче:
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;
}
Ось альтернативний спосіб додати нестандартний роздільник до a UITableView, зробивши aCALayer для зображення та використовуючи це як роздільну лінію.
// робимо 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 зліва.