使用QuartzCore为UITextView创建阴影

Din*_*aja 3 shadow uitextview ios quartz-core

我使用以下代码QuartzCore为我创建了一个阴影UITextView.

myTextView.layer.masksToBounds = NO;
myTextView.layer.shadowColor = [UIColor blackColor].CGColor;
myTextView.layer.shadowOpacity = 0.7f;
myTextView.layer.shadowOffset = CGSizeMake(2.0f, 2.0f);
myTextView.layer.shadowRadius = 8.0f;
myTextView.layer.shouldRasterize = YES;
Run Code Online (Sandbox Code Playgroud)

它创建了一个shadow,looks good too.这里是上面代码的输出.

在此输入图像描述

但是当我尝试添加文本时myTextView,我的textView文本超出了界限,它看起来myTextView不像下面那样.

在此输入图像描述

只有当我添加阴影时才会发生这种情况.里面的文字textView并没有显示出怪异如果我不加阴影.我做错了什么?我怎么能克服这个?为什么会这样?

更新:

@borrrden说我发现它正在发生,因为设置maskToBounds = NO;如果我们设置YES然后我们不能得到阴影.原因这是一个答案

Ant*_*ich 7

由于UIView行为,没有"正确"的解决方案.当masksToBounds为NO时,任何延伸到图层边界外的子图层都将可见.UITextField在UITextField图层外滚动文本.

在UITextView后面添加清晰视图并在其上放置阴影.