[решено] cornerRadius выборочно


#1

Подскажите, пожалуйста, в User Defined Runtime Attributes возможно для textField с помощью layer.cornerRadius закруглить углы. А каким образом сделать закругление только для одного угла, например верхнего правого?


#2
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
  }
}

Вызывать вот так:

yourView.roundCorners([.topLeft, .bottomLeft], radius: 12)

#3

А вообще легко гуглится подобный вопрос.
раз
два


#4

в swift 4 появилось отличное свойства у layer:

 layer.maskedCorners = [.layerMinXMaxYCorner, .layerMaxXMinYCorner]

#5

Спасибо! Это я конечно нагуглила сразу же :wink: но я немного про другое, … как это прописать не в коде, а в User Defined Runtime Attributes? Вот)


#6

Никак (____________)

Хотя, можно думаю как-то изворочиться через расширение. Но это будет явно костыль.


#7

Понятно, спааасибочки)