Ios 添加到主视图的子视图的尾随约束未固定

Ios 添加到主视图的子视图的尾随约束未固定,ios,autolayout,gradient,Ios,Autolayout,Gradient,我有一个指向superview的前导和尾随约束常量=20的视图。我正在尝试向该视图添加渐变层,但它只绘制560的宽度,这是故事板中的宽度(大小类活动) 看起来尾随约束没有坚持,因为视图框的大小是768,而iPad应该是768。我也没有自动布局错误,当我将背景颜色设置为除“清晰”之外的其他颜色时,它看起来很好,但渐变仍然没有完全绘制出来 有什么想法吗 func setupGradient(view: UIView) { let colorArray = [UIColor.blackColo

我有一个指向superview的前导和尾随约束常量=20的视图。我正在尝试向该视图添加渐变层,但它只绘制560的宽度,这是故事板中的宽度(大小类活动)

看起来尾随约束没有坚持,因为视图框的大小是768,而iPad应该是768。我也没有自动布局错误,当我将背景颜色设置为除“清晰”之外的其他颜色时,它看起来很好,但渐变仍然没有完全绘制出来

有什么想法吗

func setupGradient(view: UIView) {
    let colorArray = [UIColor.blackColor().CGColor, UIColor.whiteColor().CGColor]
    let gradient: CAGradientLayer = CAGradientLayer()

    gradient.frame = view.bounds
    print(gradient.frame)
    print(self.view.bounds)
    gradient.startPoint = CGPoint(x: 0, y: 0.5)
    gradient.endPoint = CGPoint(x: 1.0, y: 0.5)
    gradient.colors = colorArray
    view.layer.addSublayer(gradient)
}
从打印报表: (0.0, 0.0, 560.0, 70.0) (0.0,0.0768.0,1024.0)


自动布局和自动调整遮罩在
ui视图上工作
而不是在
CALayers上工作

设置层框架后,autolayout可以更改视图框架,但不能更改层框架

我们需要手动更改层框架

- (void) viewDidLayoutSubviews {
  [super viewDidLayoutSubviews];
  gradientLayer.frame = gradientView.bounds;
}

自动布局和自动调整遮罩在
UIViews
上工作,而不是在
CALayers
上工作

设置层框架后,autolayout可以更改视图框架,但不能更改层框架

我们需要手动更改层框架

- (void) viewDidLayoutSubviews {
  [super viewDidLayoutSubviews];
  gradientLayer.frame = gradientView.bounds;
}