首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS -设置UIView阴影时,偏移和插入之间的差异?

在iOS开发中,设置UIView阴影时,偏移和插入之间存在一些差异。具体来说,偏移是指阴影相对于视图的位置偏移量,而插入是指阴影与视图之间的间距。

  1. 偏移(Offset):偏移是指阴影相对于视图的位置偏移量。可以通过设置阴影的偏移量来改变阴影的位置。偏移量由水平偏移量(horizontal offset)和垂直偏移量(vertical offset)组成。通过调整这两个值,可以将阴影放置在视图的不同位置。
  2. 插入(Inset):插入是指阴影与视图之间的间距。通过设置阴影的插入值,可以控制阴影与视图之间的距离。插入值越大,阴影与视图之间的距离越大,阴影越模糊;插入值越小,阴影与视图之间的距离越小,阴影越清晰。

在iOS开发中,可以使用CALayer来设置UIView的阴影效果。以下是一个示例代码:

代码语言:txt
复制
let view = UIView(frame: CGRect(x: 100, y: 100, width: 200, height: 200))
view.backgroundColor = UIColor.white

// 设置阴影
view.layer.shadowColor = UIColor.black.cgColor
view.layer.shadowOpacity = 0.5
view.layer.shadowOffset = CGSize(width: 2, height: 2)
view.layer.shadowRadius = 4
view.layer.shadowPath = UIBezierPath(rect: view.bounds).cgPath

// 设置插入
view.layer.shadowPath = UIBezierPath(rect: view.bounds.insetBy(dx: 10, dy: 10)).cgPath

self.view.addSubview(view)

在上述代码中,我们创建了一个UIView,并设置了阴影效果。通过调整shadowOffset属性的值,可以改变阴影的位置偏移量。通过调整shadowPath属性的值,可以改变阴影与视图之间的插入值。

对于UIView阴影的应用场景,常见的包括但不限于:为视图添加立体感、突出视图层次、增加视觉效果等。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS给TabBar顶部黑线添加发光阴影

= [UIColor blackColor].CGColor;//设置阴影颜色 tmpView.layer.shadowOpacity = 0.08;//设置阴影透明度 tmpView.layer.shadowOffset...= CGSizeMake(kAdjustRatio(0), kAdjustRatio(0));//设置阴影偏移量,阴影大小,x往右y往下是正 tmpView.layer.shadowRadius...= kAdjustRatio(5);//设置阴影圆角,//阴影扩散范围,相当于blur radius,也是shadow渐变距离,从外围开始,往里渐变shadowRadius距离 //...= 0.08;//设置阴影透明度 tmpView.layer.shadowOffset = CGSizeMake(kAdjustRatio(0), kAdjustRatio(5));//设置阴影偏移量...,阴影大小,x往右y往下是正 tmpView.layer.shadowRadius = kAdjustRatio(5);//设置阴影圆角,//阴影扩散范围,相当于blur radius,

1.4K40

iOS动画系列之一:带时分秒指针时钟动画(上)1. 最终实现效果以及思维导图2. CALayer3. 隐式动画

iOS中,看得见摸得着东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView 其实UIView之所以能显示在屏幕上,完全是因为它内部一个图层 在创建...UIView对象UIView内部会自动创建一个图层(即CALayer对象),通过UIViewlayer属性可以访问这个层 @property(nonatomic,readonly,retain)...@property BOOL |masksToBounds;|超过部分进行裁剪 设置阴影时候,阴影颜色+阴影偏移(或者阴影路径)+阴影透明度缺一不可。...阴影模糊度如果不设置,默认值就是3.0000。 阴影路径: 设置阴影路径,就不再需要设置阴影偏移量了。 设置阴影路径之后,也不能再设置masksToBounds。...m34默认值是0,可以通过设置m34为-1.0 / d来应用透视效果 d代表了想象中视角相机屏幕之间距离,以像素为单位,那应该如何计算这个距离呢?实际上并不需要,大概估算一个就好了。”

2K30

CALayer 图层概念二、CALayer属性二、方法

UIView负责监听相应事件.UIView是更高层封装 在 iOS 中,你能看得见,摸得着东西基本上都是UIView.比如一个按钮,一个文本标签,一个文本输入框, 一个图标等.这些都是UIView...,其实UIView之所以能显示在屏幕上,完全是因为它内部一个图层,在创建UIView对象, UIView内部会自动创建一个图层 (即CALayer对象), 通过UIViewlayer属性即可访问这个图层....当UIView需要显示到屏幕上,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己图层上,绘图完毕后,系统会将图层拷贝到屏幕上,于是就完成了UIView得显示.换句话说,UIView...其次 : QuartzCore框架CoreGraphics框架是可以跨平台使用,在iOSMac OS X上都能使用 (C语言编写) 但是UIKit只能在iOS中使用 (OC编写)....CGColorRef,需要.CGColor转换 self.demoView.layer.shadowColor = [UIColor yellowColor].CGColor; 设置阴影偏移 self.demoView.layer.shadowOffset

1.4K70

iOS开发CoreAnimation解读之二——对CALayer分析

iOS开发CoreAnimation解读之二——对CALayer分析 一、UIViewCALayer属性 1.Layer专门负责view视图渲染         每一个UIView对象中都有一个...layer这样属性,并且layer会负责view中有关图形绘制相关操作,例如我们设置view背景颜色设置layer背景颜色都是有效,并且,设置view背景色依然是通过layer来展示,我们可以写如下测试代码...二、几种系统Layer类         前边说过,UIView相似,CALayer也很据功能衍生出许多子类,系统系统给我们可以使用有如下几种: 1.CAEmitterLayer CoreAnimation...4.CAReplicatorLayer CAReplicatorLayer是一个layer容器,会对其中subLayer进行复制属性偏移,通过它,可以创建出类似倒影效果,也可以进行变换复制,如下:...; //设置阴影颜色 @property(nullable) CGColorRef shadowColor; //设置阴影透明度 @property float shadowOpacity; //设置阴影偏移

1K20

iOS 转场动画探究(二)

这篇文章是接着第一篇写,要是有同行刚看到的话建议从前面第一篇看,这是第一篇地址:iOS 转场动画探究(一) 接着上一篇写内容:        上一篇iOS 转场动画探究(一)我们说到了转场要素第四点...比如像我们第三个小例子里面后面半透明背景动画,就是通过这个UIViewControllerTransitionCoordinator我们来做,主要在 Modal 转场交互转场取消使用,其他时候很少用到...presentationWrappingViewdimmingViewUI效果 UIView * presentedViewControllerView = [super presentedView...presentationWrapperView.layer.shadowOpacity = 0.44f; //设置阴影透明度(0~1之间,0表示完全透明)...presentationWrapperView.layer.shadowRadius = 13.f; //设置阴影圆角 //设置阴影偏移

1.3K70

iOS 转场动画探究(二)

这篇文章是接着第一篇写,要是有同行刚看到的话建议从前面第一篇看,这是第一篇地址:iOS 转场动画探究(一) 接着上一篇写内容:        上一篇iOS 转场动画探究(一)我们说到了转场要素第四点...比如像我们第三个小例子里面后面半透明背景动画,就是通过这个UIViewControllerTransitionCoordinator我们来做,主要在 Modal 转场交互转场取消使用,其他时候很少用到...presentationWrappingViewdimmingViewUI效果 UIView * presentedViewControllerView = [super presentedView...presentationWrapperView.layer.shadowOpacity = 0.44f; //设置阴影透明度(0~1之间,0表示完全透明)...presentationWrapperView.layer.shadowRadius = 13.f; //设置阴影圆角 //设置阴影偏移

84840

iOS-圆角、边框、阴影

demo中就是用该方法实现,有兴趣可以下下来看一看 conrnerRadius只影响背景颜色不影响背景图子图层,所以往往我们在设置圆角还会开启viewmasksToBounds(剪裁属性),...当设置成YES,图层里面所有东西都会被截取 边框 边框需要设置layer两个属性,borderWidthborderColor,并且边框是沿着图层bounds绘制,同时包含图层角 borderWidth...shadowRadius 1)shadowOpacity是(0,1]之间值,默认是0,当它大于0阴影就会显示,并且,值越大,阴影透明度越低 2)shadowColor 阴影颜色,默认是黑色...属性为YES 阴影就会被裁剪掉 圆角+阴影 从上面我们可以得出,因为对裁剪属性不同需求,在一个view上,圆角阴影一般是不可并存,那么我们需要怎么办呢?..., strong, readonly)ShadowOffset shadowOffset; // 阴影偏移方向距离 默认{0,0} @property(nonatomic, strong, readonly

2.7K50

iOS动画小知识:定点缩放弹窗(利用锚点anchorPoint进行实现)包含完整demo

前言 iOS开发中常用动画(定点缩放弹窗)应用场景: 会员详情右侧下拉操作菜单 浏览器右侧下拉菜单 I 基础知识 (CALayer) 每一个UIView内部都默认关联着一个CALayer,...UIView有frame、boundscenter三个属性,CALayer也有类似的属性,分别为frame、bounds、position、anchorPoint。...; view.layer.anchorPoint = anchorpoint; view.frame = oldFrame; } II iOS开发中常用动画(定点缩放弹窗) 在这里插入图片描述...2.1 核心代码 /** 1、点击弹出按钮阴影alpha由0到1,弹窗scale由0到1(这里使用CABasicAnimation) 2、 点击空白处,再让阴影alpha由1到0,弹窗scale...由1到0(同样使用CABasicAnimation),动画完成后移除阴影弹窗 */ - (void)expandView{ //展示时候,动画从右上角往左下脚延伸;隐藏时候,动画从左下脚往右上角收回

1.8K21

iOS中支持HTML文本标签控件——MDHTMLLabel

iOS中支持HTML文本标签控件——MDHTMLLabel 一、引言         在iOS开发中对HTML处理很多时候除了使用WebView外,还需要原生控件对其进行渲染,例如将HTML字符串渲染为图文混排...MDHTMLLabel中可以设置一些属性解析如下: //设置超链接文字属性字典 设置AttributeString方法一致 @property (nonatomic, strong) NSDictionary...//设置超链接非激活属性字典 @property (nonatomic, strong) NSDictionary *inactiveLinkAttributes; //设置超链接文字触发长按事件最小按下时间...assign) CGFloat highlightedShadowRadius; //设置label在高亮状态下文字阴影偏移 注:非高亮状态由原生UILabel属性设置 @property (nonatomic..., assign) CGSize highlightedShadowOffset; //设置在label高亮状态下文字阴影颜色 注:非高亮状态由原生UILabel属性设置 @property (nonatomic

2.9K10

iOS利用锚点实现定点缩放弹窗

前言 iOS开发中常用动画(定点缩放弹窗)应用场景: 1、会员详情右侧下拉操作菜单 ? 2、浏览器右侧下拉菜单 ?...内部都默认关联着一个CALayer, UIView有frame、boundscenter三个属性,CALayer也有类似的属性,分别为frame、bounds、position、anchorPoint...类似地,可以得出在白纸中心点、左下角右上角anchorPoint为(0.5,0.5), (0,1), (1,0)。...在这里插入图片描述 2.1 核心代码 /** 1、点击弹出按钮阴影alpha由0到1,弹窗scale由0到1(这里使用CABasicAnimation) 2、 点击空白处,再让阴影alpha由1...到0,弹窗scale由1到0(同样使用CABasicAnimation),动画完成后移除阴影弹窗 */ - (void)expandView{ //展示时候,动画从右上角往左下脚延伸;隐藏时候

1.6K31

StoryBoard——高级进阶之“热重载”

,比如添加圆角、添加阴影偏移、添加边框等。...但这些都是layer才有的属性,并没有提供给UIView,所以我在Attributes Inspector里面是没有办法设置,并且,这里也不能设置边框颜色阴影颜色,因为边框颜色阴影颜色是CGColor...那边框颜色阴影颜色怎么设置呢,比如懒得折腾的话,直接拉一根IBOutlet,然后用代码去设置,也是比较常用办法,这样虽然也能够比较简单方便处理这个问题,但并不是一个很好方式(如下图)。...然后在RadiusView.h文件里面,我们可以随便自定义变量名,比如,圆角、边框宽度、边框颜色、阴影颜色、阴影偏移offset,然后把IBInspectable直接放到变量前面。...,因为设置了也不会生效,由于clipsToBounds,所以阴影圆角是不能同时设置,这里有很多解决方案,我就不多说了。

47810

iOS中UIPopoverController使用详解

UIPopoverController只能用于iPad,在要兼容iPadiPhone项目中,需要根据设备类型使用两套代码。.../* 默认情况下,当视图控制器弹出,点击界面上其他位置,视图控制器会被隐藏 如果需要当视图控制爱弹出界面上其他控件依然可以进行用户交互,则需要将这些UI控件设置进这个数组中 */ @property...:(BOOL)animated; //设置视图控制器背景颜色 @property (nullable, nonatomic, copy) UIColor *backgroundColor NS_AVAILABLE_IOS...) Class popoverBackgroundViewClass NS_AVAILABLE_IOS(5_0); 三、自定义UI展现UIPopoverController         通过设置UIPopoverController...-(void)setArrowDirection:(UIPopoverArrowDirection)arrowDirection{ } //这个方法在设置箭头偏移被调用 可以监听做处理

1.7K20

IOS开发进阶系列】动画专题

iOSMac OS两个平台上,事件用户交互有很多地方不同,基于多点触控用户界面基于鼠标键盘有着本质区别,这就是为什么iOS有UIKitUIView,但是Mac OS有AppKitNSView...把这种功能逻辑分开并应用到独立Core Animation框架,苹果就能够在iOSMac OS之间共享代码,使得对苹果自己OS开发团队第三方开发者去开发两个平台应用更加便捷。        ...图5.21 从一个边角观察立方体 1.10.7 光亮阴影         现在它看起来更像是一个立方体没错了,但是对每个面之间连接还是很难分辨。...hitTest:方法,测算顺序严格依赖于图层树当中图层顺序(UIView处理事件类似)。...在iOS 5中,苹果引入了一个新框架叫做GLKit,它去掉了一些设置OpenGL复杂性,提供了一个叫做CLKViewUIView子类,帮你处理大部分设置绘制工作。

46410

大前端开发中“树” (下)

本系列文章共分为上、下两篇,介绍 Web、Android、iOS、Flutter 这些前终端平台下,与 “树” 及视图系统有关技术话题,并尝试分析它们之间异同点;方便从事大前端开发同学对各平台技术特性有更广泛了解...它作用是,CALayer 在做隐式动画,CoreAnimation 就需要在设置一次新值新值生效之间,对屏幕上图层进行重新组织。...它 Android View、iOS UIView 、 Web HTML + CSS 有一定对应关系。 5.1.2 Element 对比差异减少操作对底层绘制操作次数中间节点。...以动画系统为例,iOS 视图系统把动画配置作为视图树描述一部分,直到渲染才计算实际值,从而提升动画性能;而 Android 渲染过程一般依靠视图树变化实现动画,相比之下增加了处理环节。...这在一定程度上反映了 iOS Android 设计思路差异,或许也可以作为早期 iOS 动画性能优于 Android 佐证。

1.9K30

iOS 10 ~ iOS 15 tableview 适配(使用注意事项)

一、iOS 11 scrollview,tabelview出现页面偏移问题 image.png 注:iOS11后导航栏标签栏半透明时才有这样偏移问题,不透明或者隐藏则没有; 若没有导航栏或标签栏...如果有设置sectionHeaderView或sectionFooterView并且返回view为nil,上滑或者下滑,这两个View都会有颜色变化,颜色与底色有关,但如果返回view为自定义...这种需求一般是在有无tableHeaderView之间切换,当不需要tableHeaderView,可如下设置 tableHeaderView = UIView.init(frame: CGRect(...代理,iOS13.2以下系统顶部有空白,iOS13.2及以上系统顶部无留白 3.同时实现了sectionHeadersectionFooter代理,并且同时设置了sectionHeadersectionFooter...(设置为0即自动计算高度,设置为非0数值,iOS13.2以下系统顶部有空白,iOS13.2及以上系统顶部无留白)

2K20

iOS点击查看大图动画效果

今天就讲解一个查看收起大图动画效果,先直接看效果图: 如图所示,最开始是一个小图,点击小图可以查看大图。大图会从小图位置大小“弹”出来,同时背景变成半透明阴影。...在思考一个动画实现方法,把动画动作进行分解然后再一个个去思考怎么实现是一个好习惯,我们稍微分解一下,这个动画在显示大图收起大图时候做了这些事情: 打开先显示一个半透明阴影背景; 然后显示一个逐渐变大图片...,直到撑到屏幕边界; 收起先让阴影背景消失; 然后将图片逐渐收小到小图原本大小。...:屏幕宽,这样就会根据手机屏幕大小来保证图片始终是居中显示,关于这两个常量,可以查看我这篇博客:iOS获取屏幕宽高、设备型号、系统版本信息 好现在小图已经添加到界面上了,我们也给小图添加了响应点击方法...这里动画我们使用是最简单iOS 7开始支持基于blockUIView动画,在我这篇博客中也有详细讲解:iOS基础动画教程 然后,我们初始化了阴影背景视图,并添加到界面上,此时不要忘记,要再次将大图手动推送到最上层

1.6K20
领券