[iOS 8] storyboard で作成した Static Cells にコードからアクセスする

2014.10.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

できてみれば簡単

storyboard で UITableView の content を Static Cells にした場合、コードに TableViewDataSource のメソッドを書かなくてもセルを表示することができます。
しかし、コードからセルのテキストカラーやフォントなどを設定したい場合は、セルを生成するコードが存在しないため一工夫しなければセルにアクセスすることができません。
今回はその方法を説明します。

Static Cells

StaticCells1

StaticCells2

StaticCells3

アクセス方法

super メソッド呼び出しで cell を取得します。

import UIKit

class TableViewController: UITableViewController {

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

            // super 呼び出しでセルを取得
            let cell = super.tableView(tableView, cellForRowAtIndexPath: indexPath)

            // セルに対して何かしらの処理を行う
            cell.textLabel?.textColor = UIColor.redColor()

            return cell
        }
}

実行画面

StaticCells4

まとめ

答えがわかれば簡単なのですが、私はこの問題を解決するまでに時間がかかったので、もし同じようなことをしたい場合は参考にしてください。