1

UITableViewの一部のセルに異なる幅の線を引くことは可能ですか?
このようなもの:
テーブルビュー
私はXcode 4.6を使用しており、ターゲットはiOS5+です

4

3 に答える 3

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];
于 2013-02-05T16:02:57.857 に答える
0

tableViewCellの上にいくつかの線(画像など)を作成します

[cell.contentView addSubView:$LINE_IMAGE_VIEW]のように

このようにラベルの幅を取得できます

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

次に、その幅をカスタムラインイメージに割り当てます。

于 2013-02-05T14:13:45.593 に答える
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];

15の代わりにCGRectMakeで他の値を指定することもできます。これは、Xでオフセットされます。この場合、見栄えを良くするために、幅を2倍の値(私の場合は15 * 2 = 30)だけ減らした方がよいでしょう。

于 2015-03-04T07:56:21.857 に答える