【问题标题】:trailing constraint for subview added to main view is not sticking添加到主视图的子视图的尾随约束没有坚持
【发布时间】:2016-10-08 02:48:03
【问题描述】:

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

看起来尾随约束没有坚持,因为视图框架大小为 768,而 iPad 应该如此。我也没有遇到自动布局错误,当我将背景颜色设置为清晰以外的颜色时,它看起来很好,但渐变仍未完全绘制。

有什么想法吗??

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.0, 768.0, 1024.0)

【问题讨论】:

    标签: ios autolayout gradient


    【解决方案1】:

    自动布局和自动调整蒙版适用于 UIViews,而不适用于 CALayers

    一旦设置了图层框架,自动布局可以更改视图框架,但不能更改图层框架。

    我们需要手动更改图层框架

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-15
      • 1970-01-01
      • 2017-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-23
      • 1970-01-01
      相关资源
      最近更新 更多