【发布时间】:2016-09-19 12:17:39
【问题描述】:
我扩展了 UIView 添加了 addGradientWithColor() 方法来获取渐变背景:
extension UIView {
func addGradientWithColor() {
let gradient = CAGradientLayer()
gradient.frame = self.bounds
gradient.colors = [gradientEndColor.CGColor, gradientStartColor.CGColor]
gradient.startPoint = CGPointMake(1,0)
gradient.endPoint = CGPointMake(0.2,1)
self.layer.insertSublayer(gradient, atIndex: 0)
} }
我的问题是当我运行横向模式时,UIView 没有被拉伸
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.view.addGradientWithColor() }
我尝试调用 viewDidLayoutSubviews() 但它无法正常工作
【问题讨论】:
-
为什么你不继承 UIView 并覆盖 drawRect 方法。在该方法中,只需添加渐变。然后在 UIView 中添加您需要的约束即可。
-
@rob180 谢谢。是的,但没有解决我的问题
-
@tomCobo 谢谢你的建议,我会试试的
-
@tomCobo 谢谢你的建议是最好的。请给它作为答案
标签: ios objective-c uiview swift3 cagradientlayer