Maysam
Maysam

Reputation: 7367

Drawing line through UITableView cells

Is it possible to draw a line with different width through some cells in UITableView?
Something like this:
table view
I'm using Xcode 4.6 and target is iOS5+

Upvotes: 1

Views: 768

Answers (3)

Eugene Martinson
Eugene Martinson

Reputation: 99

This will strike through the whole cell. In case you need it to look like completed task:

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];

You may indicate some other value in CGRectMake instead of 15 - it's offset by X. In this case you'd better then decrease width by doubled value (in my case it's 15*2 = 30) in order it look nice.

Upvotes: 0

bbarnhart
bbarnhart

Reputation: 6710

Rough idea on how it might work. You'll need to manage the red line when the reusable cell content changes.

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];

Upvotes: 1

Oh Seung Kwon
Oh Seung Kwon

Reputation: 431

make some lines(like image, etc) above the tableViewCell

like [cell.contentView addSubView:$LINE_IMAGE_VIEW]

you can get the label's width like this

CGFloat width = cell.titleLabel.frame.size.width

then assign that width to custom line image.

Upvotes: 0

Related Questions