+7 771 559 26 76

facebook vk instagram Одноклассники youtube

Закруглить несколько краёв у view (Core Graphics! View Round Corners) - Swift 5


// 1 вариант используя расширение
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
}
}

// 1 вариант - использование
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()

yourView.roundCorners(corners: [.bottomLeft , .bottomRight], radius: 20)
}



// 2 вариант используя функцию(универсальная функция)
func roundCorners(presentView : UIView, corners: UIRectCorner, radius: Int = 8) {

presentView.clipsToBounds = true

let maskPath1 = UIBezierPath(roundedRect: presentView.bounds,
byRoundingCorners: corners,
cornerRadii: CGSize(width: radius, height: radius))

let maskLayer1 = CAShapeLayer()
let rect = presentView.bounds
maskLayer1.frame = rect
maskLayer1.path = maskPath1.cgPath
presentView.layer.mask = maskLayer1
}

// 2 вариант - использование
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()

roundCorners(presentView: flowerView, corners: [.bottomLeft, .bottomRight], radius: 30)
}

Возврат к списку

обучись профессии будущего

Хочешь стать успешным разработчиком
приложений? Тогда добро пожаловать к нам.

обучись профессии будущего