0

我正在使用最新的 SDK 开发一个 iOS 应用程序。

我有UIView一个UIImage内部的习惯。对于该自定义,UIView我将添加一个渐变层:

- (void)changeBackgroundWithLayer:(CALayer*)newLayer
{
    if (_gradientBackground != nil)
        [_gradientBackground removeFromSuperlayer];

    _gradientBackground = newLayer;
    [self.layer addSublayer:_gradientBackground];
}

但是,当我这样做时,我看不到UIImage.

我怎样才能将其添加CALayerUIView并查看UIImageView

层次结构是:

UIView
  |
  ---- UIImageView
4

2 回答 2

2

您的视图层次结构实际上是什么令人困惑。

你说 a UIImagein a UIView,你的意思是你有一个UIImageViewinside aUIView吗?或者你是否覆盖 drawRect 来手动绘制图像?

我会看着insertLayer:atIndex:你需要确保你的渐变在图像层后面。如果您手动绘制它,我可能会切换到UIImageView将其作为子视图添加到您的UIView.

于 2013-03-13T16:58:43.253 回答
1

我的解决方案:

- (void)changeBackgroundWithLayer:(CALayer*)newLayer
{
    if (_gradientBackground != nil)
        [_gradientBackground removeFromSuperlayer];

    _gradientBackground = newLayer;
    [self.layer insertSublayer:newLayer atIndex:0];
}
于 2013-03-13T17:01:23.537 回答