UITableViewCellの線を左端まで引く方法を調査したのでメモ。
線を画面いっぱいで引くには2箇所設定する必要があります。
今回はXcode7で試しました。
デフォルトでは下のように左端に隙間が空いています。
UITableViewのseparatorInset
1つ目の設定はUITableViewのseparatorInsetです。
これの左側を0pxにする必要があります。
Storyboardからの設定はTableViewのSeparator Insetで行います。
これをDefault
からCustom
にしてLeft
に0を入れれば完了です。
コードから設定する事もできます。
UITableView.appearance().separatorInset = UIEdgeInsetsZero
これを設定すればCellがない所の線は左端まで引かれます。
UITableViewCellのlayoutMargins
TableViewのcellForRowAtIndexPath
中でUITableViewCellのlayoutMargins
にUIEdgeInsetsZero
をセットします。
これで全画面に線が引かれます。
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell cell.layoutMargins = UIEdgeInsetsZero
Xcode6の話
Xcode6では上に加えてUITableView
のlayoutMargins
にUIEdgeInsetsZero
する必要がありました。
iOS7対応
layoutMargins
はiOS8から使えるプロパティーなので、iOS7も対応する場合はlayoutMargins
を呼ばないようにする必要があります。