Buttonの上だけ角丸にしたかったので、いろいろ試してみました。
以下のExtensionを追加してください。
hoge.swift
extension CAShapeLayer {
// UIの上だけ角丸
class func drawTopCornerRadius(radius: CGFloat, ui:AnyObject) -> CAShapeLayer {
let corners: UIRectCorner = [.TopLeft, .TopRight]
let maskPath = UIBezierPath(roundedRect: ui.bounds,
byRoundingCorners: corners,
cornerRadii: CGSize(width: radius, height: radius))
let maskLayer = CAShapeLayer()
maskLayer.frame = ui.bounds
maskLayer.path = maskPath.CGPath
return maskLayer
}
}
角丸にしたいUIの .layer.mask に渡してあげるとできました。
HogeController.swift
"角丸にしたいUI".layer.mask = CAShapeLayer.drawTopCornerRadius(10.0, ui: "角丸にしたいUI")