iOS - 设置 UIView 阴影时偏移和插入之间的区别?

标签 ios objective-c uiview

所以我想在我的 UIView 的顶部、左侧和右侧放置一个 5 像素的阴影。经过多次尝试和错误,这段代码似乎对我有用:

self.layer.shadowColor = [[UIColor purpleColor] CGColor];
self.layer.shadowOffset = CGSizeMake(0.0f,-5.0f);
self.layer.shadowOpacity = 1.0f;
self.layer.shadowRadius = 0.0f;
CGRect shadowRect = CGRectInset(self.bounds, -10, -5);  // inset top/bottom
self.layer.shadowPath = [[UIBezierPath bezierPathWithRect:shadowRect] CGPath];

它给了我这个结果,这似乎是正确的:

enter image description here

由于经过了大量的试验和错误,我仍然不太明白插图和偏移是如何工作的。我在互联网上查过,但所有定义都很笼统(例如,偏移量是某物偏移的空间量......什么?)。

有人可以向我解释一下绘制阴影时插入和偏移之间的区别吗?我想知道它是如何工作的,这样下次我就不必花那么长时间进行反复试验。谢谢!

最佳答案

偏移是阴影相对于被阴影对象移动的量,即阴影向左或向右、顶部或底部的距离。

插图是阴影相对于对象的大小。因此,如果插图为 (-10,-10),则阴影将比对象宽 10 像素、高 10 像素。请注意,负插入会使阴影变大。正插入会减小阴影的大小。

关于iOS - 设置 UIView 阴影时偏移和插入之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39565088/

相关文章:

ios - 当 UIViewController.view 清晰时,阴影出现在 subview 后面

ios - 内部带有 UIImageView 的子类 UIView 不响应自动布局

ios - 如何停止和反转 UIView 动画?

ios - Swift iOS SKActions 不适用于从 SKS 文件引入的 Sprite

ios - 读取和写入同一文件

ios - 二维 NSArray 中的对象数

iphone - 在iOS 5中移除iPhone启动画面

ios - 值转换问题?

ios - UIView 不是第一次消除

ios - 在 Swift 4 中调整 UISwitch 的大小