如何在单元格具有自定义高度时自定义UITableView分隔符
我跟着这个post: 如何在iPhone中自定义tableView分隔符
问题是,当我为我的单元格定制高度时,它不能正常工作。
我会告诉你两个图像,两行的是我的单元格自定义高度的结果。
用自定义高度:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, cell.contentView.frame.size.height - 1.0, cell.contentView.frame.size.width, 1)]; lineView.backgroundColor = [UIColor darkGrayColor]; [cell.contentView addSubview:lineView]; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 50; }
嗨问题是cellForRowAtIndexPath方法,你单元格还不知道它的高度。 如果你使用自定义的高度(你知道这个高度,也可以在cellForRow中使用它)。
这里的例子:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, 49.0, cell.contentView.frame.size.width, 1)]; lineView.backgroundColor = [UIColor darkGrayColor]; [cell.contentView addSubview:lineView]; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 50; }
另外,不要忘记你可以使用separatorStyle和separatorInset,以便自定义一个这样的线。 如果你不使用它放在:
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;