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

できてみれば簡単

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

まとめ

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

“[iOS 8] storyboard で作成した Static Cells にコードからアクセスする” への2件のフィードバック

  1. kishikawa katsumi より:

    プロパティを作ってIBOutletでバインドする方法も簡単でオススメです。セルだけでなく、載っているラベルをバインド、などもできます。

コメントを残す