UIView的最简单(矩形)投影

mal*_*lef 5 cocoa shadow uiview ios

我已经看过很多片段:对于像阴影这样简单的东西来说太复杂了,需要子类化UIView和使用quartz2d调用,否则我无法让它们工作.

我只是想在一个视图上做这个我作为子视图添加到另一个视图(子视图取自另一个viewController我只是分配 - 我知道这可能不太好但是很好),没有IB或任何东西.什么是最简单/最容易接受的方式?如果我想让它在iOS 4上运行会有所不同吗?

Bra*_*den 10

它就像导入<QuartzCore/QuartzCore.h>和使用类似的代码片段一样简单:

self.viewAboutContainer.layer.shadowColor = [[UIColor blackColor] CGColor];
self.viewAboutContainer.layer.shadowOpacity = 0.7;
self.viewAboutContainer.layer.shadowRadius = 4.0;
self.viewAboutContainer.layer.shadowOffset = CGSizeMake(5.0f, 5.0f);    
self.viewAboutContainer.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.viewAboutContainer.bounds].CGPath;
Run Code Online (Sandbox Code Playgroud)

  • 还要确保self.viewAboutContainer.clipsToBounds = NO.否则,阴影将落在视图之外并被剪裁. (2认同)