我怎样才能在UIView的界限之外画出阴影?

Chr*_*ian 1 iphone cocoa-touch quartz-graphics

我正在使用如何在UIView下绘制阴影所描述的方法在视图的内容后面绘制阴影.虽然我在Interface Builder中为视图禁用了"剪辑子视图",但阴影被剪切到视图的边界.是否可以视图周围绘制阴影,而不仅仅是视图中?

我不想在视图中绘制阴影,因为视图会接收阴影区域的触摸事件,它实际上属于背景.

Jou*_*Nel 6

而不是在drawRect中手动绘制,考虑在UIView的核心动画层上设置属性以绘制阴影.

例如:

[descriptionInput setClipsToBounds:NO];
[descriptionInput.layer setShadowColor:[[UIColor blackColor] CGColor]];
[descriptionInput.layer setShadowOpacity:0.8];
[descriptionInput.layer setShadowOffset:CGSizeMake(0.0, 3.0)];
Run Code Online (Sandbox Code Playgroud)

为此,您需要包含QuartzCore:

#import <QuartzCore/QuartzCore.h>
Run Code Online (Sandbox Code Playgroud)