Различные cornerRadius для каждого угла Swift 3-iOS
Я хочу установить другой радиус угла для представления в Swift -3, Я могу установить радиус для каждого угла на то же значение, как тот, который упоминается в следующем сообщении,Как установить cornerRadius только для верхнего левого и верхнего правого угла UIView?
есть ли способ установить радиус угла в следующем формате ? Верхнего левого радиус: 18 Верхнего правого радиус: 18 Радиус снизу справа: 3 Радиус внизу слева: 18
1 ответов
вы можете установить значение по умолчанию layer.cornerRadius
до наименьшего значения, а затем установите границу маски слоя на большее значение.
let demoView = UIView(frame: CGRect(x: 100, y: 200, width: 100, height: 100))
demoView.backgroundColor = UIColor.red
demoView.layer.cornerRadius = 3.0
let maskPath = UIBezierPath(roundedRect: demoView.bounds,
byRoundingCorners: [.topLeft, .topRight, .bottomLeft],
cornerRadii: CGSize(width: 18.0, height: 0.0))
let maskLayer = CAShapeLayer()
maskLayer.path = maskPath.cgPath
demoView.layer.mask = maskLayer
view.addSubview(demoView)