0

我正在使用此代码在 My ViewDidLoad 中的 UIViewcontroller 中获取阴影效果

// Add drop shadow to the view.
        CAGradientLayer *gradientLayer = [CAGradientLayer layer];
        gradientLayer.frame = CGRectMake(0, 0, 90, self.view.frame.size.height);
        gradientLayer.colors = [NSArray arrayWithObjects:
                                (id)[UIColor lightGrayColor].CGColor,
                                (id)[UIColor clearColor].CGColor,
                                nil];
        gradientLayer.startPoint = CGPointMake(-7, 0.1);
        gradientLayer.endPoint = CGPointMake(1, 0.15);   
        [self.view.layer addSublayer:gradientLayer];

我在视图中得到了正确的阴影,但问题是当我转到另一个视图控制器并返回时,每次显示都变得越来越暗。我使用 UIPopOverController 导航到另一个视图。

我的代码有什么问题?提前致谢。

4

2 回答 2

0

不确定这是否有帮助,但是当我开始使用 UIPopOver 控制器时,我遇到了与您完全相同的情况。

这是因为每次我激活新的弹出框时,我都会一次又一次地覆盖它,而不是删除旧的。所以看起来阴影每次都变得越来越暗。

当您移动到另一个视图或将其留在后面时,您是要删除 PopOver 吗?

只是一个想法。

于 2013-05-02T13:19:47.220 回答
0

我刚刚用你的确切代码运行了一些测试,它工作正常。我可以复制您遇到的问题的唯一方法是将您的代码放入其中一个viewWillAppear:viewDidAppear:. 您是否有可能在其中任何一个绘制阴影的函数中有一些代码?

于 2012-05-30T08:57:55.620 回答