iOS アプリ開発で意外に詰まるところになるような気がしたのでメモ。UITableView を配置し、右側に矢印出したい。こんな感じ。
以下のようなコードを書いた。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("identifier", forIndexPath: indexPath) as UITableViewCell cell.textLabel.text = self.settings[indexPath.section][indexPath.row] cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator return cell }
しかし、右側に矢印っぽいのは表示されない。
原因
UITableView の Widthが画面を超えてしまっていた。本当は表示されているのに、画面外に表示されていた。
ちゃんと UITableView の Width を画面に収まるようにしたら表示されました。。
やられたやられた。これはわっかりにくいw
AccessoryType, AccessoryView
AccessoryTypeはiOS SDK であらかじめ用意されたテンプレート。 AccessoryView は独自のUIView を継承したものならなんでも追加できるみたい。
この AccessoryView を使うことで、テーブルの右側に Switch を置いたり、 TextView を置いたりできる。これはなかなか便利なので覚えておこう。