您好 iOS 和 Swift 大师们,
折腾了两天后,我拼命决定在这里问问。问题:
添加 CAGradientLayer 时,不显示 subview 。
详细信息:
- 我做了一个方法来在扩展中添加一个 CAGradientLayer 界面 View
- 我只需在任何 View 上调用该方法,它本身就可以完美运行
- 但是如果我尝试将此方法用于 View 层次结构中的 UIView(作为背景),不幸的是所有 subview 都不再可见, 渐变似乎“覆盖”了所有 subview
- 如果我不在容器 View 上调用“addGradient”方法,所有 subview 都会正确显示
- 惊人的细节:虽然 subview 不可见,但它们以某种方式存在并且“活跃”(例如,“不可见”的 UIButton 触发)
- 我正在使用自动布局
任何想法将不胜感激! 提前致谢。
最佳答案
卢克赛德沃克,
不确定,但您始终可以尝试将您的图层添加到所有其他图层下方,这样它就不会覆盖现有的 subview 。试试这个,在你的扩展中添加要查看的图层
self.layer.insertSublayer(layer, atIndex: 0)
尝试添加 ImageView 作为 subView 工作正常 :) 应该也能解决您的问题。
关于ios - CAGradientLayer 导致 subview 不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37408030/