【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(表示される前に都度呼び出されるデリゲートメソッド)に記載する必要があります。

この記事が気に入ったらサポートをしてみませんか?