今回は UITableView
で、セクションごとに Separator
を出し分ける方法を紹介したいと思います👷♀️
結論
Separator
を表示したくない Cell
の場合、下記のように UITableViewCell
の separatorInset
プロパティの値をうまく調整することで非表示にすることができます。
cell.separatorInset = .init(top: 0, left: 0, bottom: 0, right: UIScreen.main.bounds.width)
今回の場合は、Cell
の幅とスクリーンの幅が同じなので UIScreen.main.bounds.width
にしていますが、基本的に Cell
の幅と同じにすることで Seprator
が表示されないようになります。もちろん cell.separatorInset = .init(top: 0, left: UIScreen.main.bounds.width, bottom: 0, right: 0)
でも同じ結果が得られます。
また、UITableViewCell
のサブクラスで separator
を表示する方法もあるみたいですが、UITableViewCell
の API 変更により予期しない View
も非表示にしてしまう可能性があるので個人的にはおすすめしません🤔
override func layoutSubviews() { super.layoutSubviews() for separator in subviews where separator != contentView { separator.isHidden = true } }
という感じで本日も以上になります🍺