У меня странный вопрос. Несмотря на то, что я прочитал много учебников о том, как это сделать, конечный результат показывает только строку безье, а не любую тень. Мой код очень прост:Swift draw shadow to uibezier path
let borderLine = UIBezierPath()
borderLine.moveToPoint(CGPoint(x:0, y: y! - 1))
borderLine.addLineToPoint(CGPoint(x: x!, y: y! - 1))
borderLine.lineWidth = 2
UIColor.blackColor().setStroke()
borderLine.stroke()
let shadowLayer = CAShapeLayer()
shadowLayer.shadowOpacity = 1
shadowLayer.shadowOffset = CGSize(width: 0,height: 1)
shadowLayer.shadowColor = UIColor.redColor().CGColor
shadowLayer.shadowRadius = 1
shadowLayer.masksToBounds = false
shadowLayer.shadowPath = borderLine.CGPath
self.layer.addSublayer(shadowLayer)
Что я делаю не так, как я не кажется, что вижу ничего плохого, но, конечно, я не прав, так как не появляется тень. Функция drawRect, basic UIVIew ничего лишнего там, x и y - ширина и высота кадра.
Большое спасибо заранее!
Вы установили [самоуправления setClipsToBounds: НЕТ ] и [self.layer setMaskToBounds: NO]? –
У меня есть shadowLayer.maskToBounds = false, а не клипы для границ. Должно ли это быть self или shadowLayer? EDIT: set self.clipsToBounds, ничего не происходит –