首先,我将约束设置为故事板中的按钮。然后,我在代码中编辑它以使其看起来很好。 当我将渐变功能应用于按钮时,它变得比以前更大。你是怎么解决的?
extension UIView {
func applyGradient(colours: [UIColor]) -> Void {
self.applyGradient(colours, locations: nil)
}
func applyGradient(colours: [UIColor], locations: [NSNumber]?) -> Void {
let gradient: CAGradientLayer = CAGradientLayer()
gradient.frame = self.bounds
gradient.colors = colours.map { $0.CGColor }
gradient.locations = locations
self.layer.insertSublayer(gradient, atIndex: 0)
}
}
我只是将它应用于一个按钮并且.. Here is the pic...
现在它看起来像这样......渐变界限没有做任何事情It goes way outside frame PLZPLZPLZ尝试帮助我:)我很感谢你的帮助到目前为止
答案 0 :(得分:0)
将self.layer.masksToBounds = true
添加到该功能。这意味着您添加的子图层不会在按钮的原始框架之外绘制
编辑:
如果您想要阴影,则需要将self.layer.masksToBounds
设置为false,因为它也会剪切阴影。
请尝试gradient.frame = self.layer.bounds
吗?