StackOverflowで見つけたいくつかの回答を読んで試しました。私もブログからいくつかのことを読んで試しましたが、私が探していることを達成するものは何もないようです。
を作成し、UIView
その背景色を(標準の青または灰色の選択色ではなく)UITableViewCell
希望の選択色に設定します。これをセルに追加すると、これは正常に機能します。ユーザーが選択すると、セルが目的の色に変わります。UIView
selectedBackgroundView
この方法はプレーンでうまく機能しUITableViews
ます; Groupedではあまりうまくいきません。グループ化UITableView
された場合、以下のスクリーンショットに示されているように、最初と最後のセルはクリップ/マスクの境界に準拠していません。
左上と右上の角だけを丸める方法はないことを私は知っています。
画像なしで、厳密にコードでこれを実行したいと思います。
質問
画像ではなく画像のみを使用してselectedBackgroundView
色を変更し、最初と最後のセルを丸みを帯びた角の境界に一致させるためのちょっとした回避策を知っている人はいますか?UITableViewCell
UIView
例
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString * CellIdentifier = @"Cell";
WCSBadgedCell * cell = [[WCSBadgedCell alloc] initWithStyle:UITableViewCellStyleSubtitle andBadgeStyle:0 reuseIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[WCSBadgedCell alloc] initWithStyle:UITableViewCellStyleDefault andBadgeStyle:0 reuseIdentifier:CellIdentifier];
}
UIView *bgColorView = [[UIView alloc] init];
[bgColorView setBackgroundColor:DARKBROWN];
[bgColorView setClipsToBounds: YES];
[cell.layer setMasksToBounds:YES];
[cell setSelectedBackgroundView:bgColorView];
[cell.textLabel setText: @"Testing a Cell"];
return cell;
}
スクリーンショット
解決
私はCodaFisの回答を受け入れました。彼は、かなり良い(まだ長い)解決策を示すコメントを追加したからです。かなりの改良を行う必要がありましたが、最終的には、最初と最後のセルの角を曲がる、必要なselectedBackgroundViewができました。ありがとうございます。