0

選択時にセルのハイライト色を変更すると、テーブルの上下に描かれたボックスがテーブルの境界内でクリップされなくなりました。

tableView とセルの両方で clipsToBounds を試しましたが、うまくいきませんでした。

解決策はありますか?

ありがとう!

問題の画像 >

ここに画像の説明を入力

4

3 に答える 3

1

必要な効果を機能させる方法を考えています。最善の方法ではないかもしれませんが、試してみることができます。

最初にセルが最後のセルかどうかを確認します。もしそうなら:

UIBezierPath *lastCellMask;
lastCellMask = [UIBezierPath bezierPathWithRoundedRect:cell.bounds byRoundingCorners:(UIRectCornerBottomLeft | UIRectCornerBottomRight) cornerRadii:CGSizeMake(3.0, 3.0)];

CAShapeLayer *cellMaskLayer = [[CAShapeLayer alloc] init];
cellMaskLayer.frame = cell.bounds;
cellMaskLayer.path = lastCellMask.CGPath;
cell.layer.mask = cellMaskLayer;

最初のセルに対して逆の操作を行います

これは私にとってはうまくいきます。これが役立つかどうかを確認してください

于 2013-07-13T20:28:05.783 に答える
0

画像を見ながらやってみる

 [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
于 2013-07-13T19:15:41.110 に答える
0

問題はgrouped、テーブル ビューにスタイルを使用していることです。グループ化されたテーブル ビューには、UI に表示されているマージンがありませんclipToBounds。セルの境界は、セルを選択しているときに表示されるものとまったく同じであるため、使用しても役に立ちません。できることはcornerRadius、角を丸めて目的の結果を作成するために、セル (セクションの最初と最後のセルのみ) のレイヤー プロパティを使用することです。

于 2013-07-13T19:38:01.030 に答える