CAGradientLayer导致子视图不可见

Luk*_*ker 3 ios cagradientlayer swift

你好iOS和Swift的大师,

经过两个令人沮丧的日子,我拼命地决定在这里问.问题:

添加CAGradientLayer时,不显示子视图.

细节:

  • 我已经创建了一个方法来在UIView的扩展中添加CAGradientLayer
  • 我只是在任何视图上调用该方法,这本身就很有效
  • 但是如果我尝试在视图层次结构中使用此方法作为UIView(作为背景),遗憾的是所有子视图都不再可见,渐变似乎"过度"了所有子视图
  • 如果我没有在容器视图上调用"addGradient"方法,则所有子视图都会正确显示
  • 惊人的细节:虽然子视图不可见,但它们以某种方式存在并且"活跃"(例如"隐形"UIButton激发")
  • 我正在使用Autolayout

任何想法将不胜感激!提前致谢.

San*_*ari 10

LukeSideWalker,

不确定,但您总是可以尝试在所有其他图层下面添加图层,以便它不会覆盖现有的子视图.试试这个,在您要添加图层的扩展中查看

self.layer.insertSublayer(layer, atIndex: 0)
Run Code Online (Sandbox Code Playgroud)

尝试添加ImageView作为subView工作正常:)也应解决您的问题.