blog.nambo.jp

iOS7でUITableViewのSeparator(区切り線)を左端から表示する方法

iOS 7からUITableViewのCell間のセパレータが左端から少し離れるデザインになりました。
iOS 6とのデザインの統一を図りたい場合など、今まで同様、ラインを左端にピッタリくっつけて表示させたいこともあるでしょう。

UIAppearance一発で解決できます。

1
[UITableView appearance].separatorInset  = UIEdgeInsetsZero;

以上です。

[2013.12.11 追記]
この方法には副作用があるようです。
参考:UITableView の境界線を separatorInset= UIEdgeInsetsZero で変えた時の副作用

ところがこれを使った場合メール送信のモーダルビュー表示で問題が出た。ツールバー上のボタン押下でMFMailComposeViewControllerを表示していたところ、iOS7だとメール編集画面が一瞬表示されてしまった後にすぐに閉じてしまうという現象が出た。

というわけで、appearanceで一律に変更するのではなく、以下のように個別に設定した方が良さそうです。

1
[self.tableView setSeparatorInset:UIEdgeInsetsZero];