是否可以通过 UITableView 中的某些单元格绘制不同宽度的线?
这样的事情:
我正在使用Xcode 4.6,目标是iOS5 +
答案 0 :(得分:1)
关于它如何运作的粗略想法。当可重用单元格内容发生变化时,您需要管理红线。
CGSize size = [cell.textLabel.text sizeWithFont:cell.textLabel.font];
CGFloat y = cell.contentView.frame.size.height / 2;
UIView *line = [[UIView alloc] initWithFrame:CGRectMake(5,y,size.width, 3)];
line.backgroundColor = [UIColor redColor];
[cell.textLabel addSubview:line];
答案 1 :(得分:0)
在tableViewCell
之上创建一些行(如图像等)与[cell.contentView addSubView:$ LINE_IMAGE_VIEW]
类似你可以像这样得到标签的宽度
CGFloat width = cell.titleLabel.frame.size.width
然后将该宽度指定给自定义线图像。
答案 2 :(得分:0)
这将攻击整个细胞。如果您需要它看起来像完成的任务:
CGSize size = cell.contentView.frame.size; // you'll draw the line in whole cell.
UIView *line = [[UIView alloc] initWithFrame:CGRectMake(15,size.height / 2,size.width - 30, 1)];
line.backgroundColor = [UIColor grayColor]; // set your preferred color
[cell addSubview:line];
您可以在CGRectMake中指示其他值而不是15 - 它偏移X.在这种情况下,您最好将宽度减少一倍(在我的情况下,它是15 * 2 = 30),以使它看起来不错。