如何在masksToBounds为true时向视图添加阴影?

时间:2014-05-13 19:53:15

标签: ios uiscrollview

所以通常当你有一个视图并且想要添加一个投影时,我会做这样的事情:

UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:diptic.bounds];
diptic.layer.masksToBounds = NO;
diptic.layer.shadowColor = [UIColor blackColor].CGColor;
diptic.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);
diptic.layer.shadowRadius = 10;
diptic.layer.shadowOpacity = .5f;
diptic.layer.shadowPath = shadowPath.CGPath;

Diptic是我的UIScrollView。

问题是因为diptic是一个滚动视图,我在滚动视图中有内容,我不想在屏幕上滚动它,所以我想将masksToBounds设置为YES但是如果我这样做,然后我看不到我的影子..

iphone screenshot

你可以看到飞镖的描述(“一个基本上是新的飞镖......”)我想隐藏,直到用户滚动到它。此外,Diptic的圆角不会剪切图像顶部的方角。

有没有办法选择蒙面和什么不是?

1 个答案:

答案 0 :(得分:0)

diptic放入具有相同边界的另一个视图中,这样您就可以将diptic屏蔽到边界,但将阴影应用于不会将其内容屏蔽到其边界的包含视图。 / p>