【发布时间】:2016-06-03 13:31:15
【问题描述】:
我正在通过使用来制作一个四舍五入的视图
dashboardView.layer.cornerRadius = dashboardView.frame.height/2
而且它正在工作。然后我用这个方法改变了我的视图的高度和宽度
dashboardView.frame = CGRect(x: screenSize.width/2,y: 300,width: 200,height: 200)
现在,当我尝试使用相同的方法使其变圆时,它不起作用。 我还用这种方法在视图上添加了一个渐变层
let gradient: CAGradientLayer = CAGradientLayer()
let endingColorOFGradient = UIColor(colorLiteralRed: 133/255, green: 210/255, blue: 230/255, alpha: 1.0).CGColor
let startingColorOfGradient = UIColor(colorLiteralRed: 50/255, green: 189/255, blue: 170/255, alpha: 1.0).CGColor
gradient.startPoint = CGPoint(x: 1.0, y: 0.5)
gradient.endPoint = CGPoint(x: 0.0, y: 0.5)
gradient.frame = CGRect(x: 0, y: 0, width: dashboardView.layer.frame.width, height: dashboardView.layer.frame.height)
gradient.colors = [startingColorOfGradient , endingColorOFGradient]
self.dashboardView.layer.insertSublayer(gradient, atIndex:0)
// making gradient round
gradient.cornerRadius = dashboardView.frame.height/2
在改变视图渐变的大小后,图层确实变圆了,但我的视图没有。
【问题讨论】:
-
你能告诉我们你有什么和你期望什么吗?您可能还想添加
dashboardView.layer.masksToBounds = true。 -
@BrandonShega我已经更新了问题
标签: ios swift uiview frame gradient