【Objective-C/Swift】UITableViewで標準セルを採用の際、textLabelの背景色を透明にする方法【Xcode11/iOS13確認済】
こういう人に向けて発信しています。
・CellのtextLabelの背景を透過させたい人
・UITableViewにて標準セルを採用している人
・Objective-C初心者、Swift初心者
引用(とても参考になりました、助かりました。)
//Objective-C
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.textLabel.backgroundColor = [UIColor clearColor];
cell.detailTextLabel.backgroundColor = [UIColor redColor];
}
//Swift
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
cell.textLabel.backgroundColor = UIColor.clear
cell.detailTextLabel.backgroundColor = UIColor.clear
}
少し補足説明
本件着手前には下記メソッドなどで対応可能と思っていましたが、
実際は異なりました。
/**
@brief TableView セル初期設定(Xcode標準)
各セルの初期設定を行う。
*/
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
冒頭のサンプルコードのようにwillDisplayCell(表示される前に都度呼び出されるデリゲートメソッド)に記載する必要があります。
この記事が気に入ったらサポートをしてみませんか?