2017-07-12 86 views
-2

我正在嘗試將CAShapeLayer添加到UILabel
的問題是:這樣做後的文本消失:CAShapeLayer到UILabel隱藏文本

let shapeLayer = CAShapeLayer() 
shapeLayer.path = path.cgPath 
shapeLayer.fillColor = UIColor.yellow.cgColor 
item.layer.addSublayer(shapeLayer) 

是否有任何其他方式做到這一點?

+0

https://stackoverflow.com/questions/4850149/adding-a-cggradient-as-sublayer-to-uilabel-hides-the-text-of-label或https://stackoverflow.com/問題/ 34962668/hide-text-with-a-shape-mask-swift? – Larme

+0

我試過它沒有幫助我 – karthikeyan

+1

簡單的方法是使用兩個UIViews,原因來自[本答案](https://stackoverflow.com/a/7209543/4222801) – JoShin

回答

3

我解決了這個問題,通過增加拉布勒到的UIView,我們必須插入層像下面

let shapeLayer = CAShapeLayer() 
shapeLayer.path = path.cgPat 
shapeLayer.fillColor = UIColor.yellow.cgColor 
item.layer.insertSublayer(shapeLayer, at: 0) 

項目對象將是你的UIView

我試圖addLayer所以它不能正常工作。

item.layer.addSublayer(shapeLayer)