Open3
UITableViewのInsetとCorner Radius
UIRectCornerを用いれば以下のように、特定のCornerのみRadiusをかけられる。
extension UITableViewCell {
func roundedCorners(_ corners: UIRectCorner, cornerRadius: CGFloat) {
let maskLayer = CAShapeLayer()
maskLayer.path = UIBezierPath(roundedRect: self.bounds,
byRoundingCorners: corners,
cornerRadii: CGSize(width: cornerRadius,height: cornerRadius)).cgPath
self.layer.mask = maskLayer
}
}
iOS13からはUITableView.StyleのinsetGroupedを用いれば、簡単に実現可能。
iOS12以下でinsetGrouped
で用いると、plain
で表示されてしまうので注意。