ios - 使用 QuartzCore 为 UITextView 创建阴影

标签 ios uitextview shadow quartz-core

<分区>

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

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;

它创建了一个阴影并且看起来也不错。这是我对上述代码的输出。

enter image description here

但是当我尝试向 myTextView 添加文本时,我的 textView 文本超出了范围,它看起来在 myTextView 之外,如下所示。

enter image description here

只有当我添加阴影时才会发生。如果我不添加阴影,textView 中的文本不会显示奇怪。我做错了什么??我怎么能克服这个?为什么会这样?

更新:

@borrrden 说 我发现它正在发生,因为设置了 maskToBounds = NO; 如果我们设置 YES 那么我们就无法获得阴影。原因 这是一个 answer

最佳答案

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

在 UITextView 后面添加清晰 View 并在其上放置阴影。

关于ios - 使用 QuartzCore 为 UITextView 创建阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13506667/

相关文章:

ios - 如何获得时间(下午 1 - 2 点)或(下午 2 - 3 点)

ios - 如何单击UITextView中的链接并同时获取“点击”位置

iphone - 使用 Core Graphics 在 CGContextClip 之后绘制阴影

ios - 如何检测 View 是 native 页面还是网页?

ios - IBActions 是否在主队列上触发?

ios - 有没有像iOS中的Receiver一样的传入短信广播接收器

ios - UITextview typingAttributes 不起作用

ios - UITextView 不在 tvOS 中滚动

ios - UITableViewCell 上的阴影性能不佳

ios - 向我的 UIView 添加阴影的最佳方法是什么