wiem, że mogę cały cztery narożniki za pomocą:Round Top rogach UIButton w Swift
myBtn.layer.cornerRadius = 8
myBtn.layer.masksToBounds = true
Od kiedy tylko chcą drugiej rundzie, zrobiłem kilka badań i stwierdził this:
extension UIView {
func roundCorners(corners:UIRectCorner, radius: CGFloat) {
let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
let mask = CAShapeLayer()
mask.path = path.CGPath
self.layer.mask = mask
}
}
który nazywa się tak:
view.roundCorners([.TopLeft , .TopRight], radius: 10)
Jednak to nie działa na UIButton. Po zmianie rozszerzenia być dla typu UIButton i przekazać go przycisku, wyjście wygląda następująco:
Pytanie jest, w jaki sposób dostosować to do pracy na UIButton?
Proszę przyjąć moją odpowiedź, ponieważ jest to najbardziej precyzyjna odpowiedź na problem. Przyszli goście tego pytania nie będą usatysfakcjonowani po prostu widząc pakiet kodu, który działa, ale nie wyjaśnia, dlaczego to działa (to jest to, co obecnie przyjmuje odpowiedź), ale raczej widząc, gdzie jest problem - i który został przybity przez moja odpowiedź. –
zobacz moją odpowiedź tutaj: http://stackoverflow.com/a/40222533/2594699 –