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

视觉效果 -- iOS Core Animation 系列三

Storyboard中放置两个白色view,每个view分别有两个子view(一个黄色,一个青色),而且都超出了父视图边界: ?...阴影裁剪 和图层边框不同,图层阴影继承自内容外形,而不是根据边界来界定。...但是同一个图层缺又存在这个问题,所以这看起来很简单效果,我们需要用到两个图层,一个图层做maskToBounds裁剪,一个图层画阴影。...imageview self.imageView.layer.mask = maskLayer; // 两张图片素材是原文中截图处理,所以展示效果和原文有所差别。...这显示效果有点怪。右边设置了alpha为0.5。但是UILabel位置好像不是0.5效果。这是因为透明度混合叠加造成。实际右侧中间透明度是0.75。

1.1K30

iOS-圆角、边框、阴影

demo中就是用该方法实现,有兴趣可以下下来看一看 conrnerRadius只影响背景颜色不影响背景图和子图层,所以往往我们设置圆角时还会开启viewmasksToBounds(剪裁属性),...属性为YES 时,阴影就会被裁剪掉 圆角+阴影 从上面我们可以得出,因为对裁剪属性不同需求,一个view,圆角和阴影一般是不可并存,那么我们需要怎么办呢?...解决这个问题之前,我们还需要了解阴影另一个特性:阴影是依据view内容外形确定,而不是根据边界和角半径来确定,下面放张图来解释一下 ?...阴影是通过里面的飞机来计算 所以,我们圆角加阴影实现方案就出来了,我们可以用两个视图来实现,一个只画阴影外图层,和一个经过裁剪内图层,这样外图层阴影会根据裁剪过后内图层来计算,这样看起来就即有阴影又有圆角了...上代码 因为圆角、边框、阴影每个效果设置都需要设置2~4个属性,再加上它们可以两两组合,如果用方法传不同参数来写化,只方法名都要写半天,所以我机智用了链式编程思想来写了一个分类,下面来看一下

2.5K50
您找到你想要的搜索结果了吗?
是的
没有找到

Python: 屏幕取色器(识别屏幕不同位置颜色

文章背景:工作中,有时候需要判断图片中不同位置颜色。有些颜色不太容易区分,所以想通过Python编写代码,通过屏幕取点,获取某个位置颜色值。...代码逻辑: (1)文末参考资料[2]csv文件(记为颜色表)中给出了865种颜色英文名称和对应RGB数值,在此基础,笔者添加了相应中文名称,如下表所示。...(2)通过鼠标屏幕取点,获取指定位置RGB数值,然后与颜色表中各行RGB数值进行匹配,返回RGB数值最接近颜色信息。...,G,B和颜色表,匹配与所取点RGB数值最接近颜色。...2] color-names(https://github.com/codebrainz/color-names/blob/master/output/colors.csv) [3] 基于Python颜色识别器

4.6K30

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

UIView负责监听和相应事件.UIView是更高层封装 iOS 中,你能看得见,摸得着东西基本都是UIView.比如一个按钮,一个文本标签,一个文本输入框, 一个图标等.这些都是UIView...,其实UIView之所以能显示屏幕,完全是因为它内部一个图层,创建UIView对象时, UIView内部会自动创建一个图层 (即CALayer对象), 通过UIViewlayer属性即可访问这个图层....当UIView需要显示到屏幕时,会调用drawRect:方法进行绘图,并且会将所有内容绘制自己图层,绘图完毕后,系统会将图层拷贝到屏幕,于是就完成了UIView得显示.换句话说,UIView...、shadowOpacity属性必须同时设置后才可以看到 设置阴影颜色, 注意UIKit框架中颜色不能直接设置给CGColorRef,需要.CGColor转换 self.demoView.layer.shadowColor...,但是这样会导致阴影效果没有,可以再添加一个SubLayer,添加阴影

1.4K70

vscode 不同设备共用自己配置

vscode 不同设备共用自己配置 介绍 code settings sync:是专门用来同步vacode配置到Gitee中插件,通过这个插件,可以在任何新设备,新平台同步自己配置,快速构建自己熟悉...使用 插件库寻找下载code settings sync Gitee中创建Gist(代码片段管理服务) 因为Gitee限制,不可以新建一个空Gist,所以按照要求填好相关内容,即可创建成功创建...,Gitee中生成私人令牌时候只需要勾选gists 即可,user_info 权限是必选。...私人令牌写在setting jsongitee.access_token属性中 配置VsCode 中setting json,最后追加gitee.gist和gitee.access_token...自己Gitee中查看自己上传配置 7.

17810

iOS学习——核心动画之Layer基础

=10; //设置阴影颜色,把UIKit转换成CoreGraphics框架,用.CG开头 _RedView.layer.shadowColor = [UIColor blueColor].CGColor...UIImageView中是UIView主layer添加了一个次layer(用来绘制contents),我们设置边框是主layer,但是次layer在上变,不会有任何影响,所以当我们调用切割语句时候...明白要怎么选择之前,我们先了解一下UIView和layer不同点: iOS中看见,摸得着都是UIView,例如一个按钮,UITextField,UILable等等,都是UIView UIView...之所以能够显示屏幕,是试音UIView中有一个图层 创建UIView时候,系统会自动创建一个CALayer在其中,用于显示东西,可以通过view.layer来去获取图层属性 当UIView要去显示时候...,先去调用drawRect方法,将要绘制东西绘制到图层,然后拷贝图层,完成了UIView显示 UIView只有交互功能,没有显示功能 CALayer只要显示功能,没有交互功能 UIView

1.5K61

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

2.自定义view默认layer属性类         UIView是很多视图类父类,根据功能不同,会分出UIImageView,UIScrollerView,UITableView等,CALayer...,它可以分为两个方面: 1.不改变内容原始大小 这种模式中不会改变内容原始大小,如果层尺寸小于内容尺寸,则内容会被切割,如果层尺寸大于内容尺寸,多出部分将会显示层背景颜色。...,这个属性不一定总会返回一个实体对象,只有当进行动画或者其他渲染操作时,这个属性会返回一个在当前屏幕layer,不且每一次执行,这个对象都会不同,它是原layer一个副本presentationLayer...layer中层次,默认为0,这个值越大,层次越靠上 @property CGFloat zPosition; //锚点 @property CGPoint anchorPoint; //Z轴锚点位置...; //设置阴影圆角半径 @property CGFloat shadowRadius; //设置阴影路径 @property(nullable) CGPathRef shadowPath; //添加一个动画对象

1K20

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

因为所有的动画都是CALayer完成。...iOS中,看得见摸得着东西基本都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView 其实UIView之所以能显示屏幕,完全是因为它内部一个图层 创建...CALayer *layer; 当UIView需要显示到屏幕时,会调用drawRect:方法进行绘图,并且会将所有内容绘制自己图层,绘图完毕后,系统会将图层拷贝到屏幕,于是就完成了UIView...设置position,就和设置UIViewcenter一样。 记得要添加到父CALayer。...center position决定了layer位置。

2K30

iOS动画开发之四——核心动画编程(CoreAnimation)

二、开始前准备 1、认识一个朋友         开始介绍核心动画内容前,我们需要先搞明白一个东西:Layer。...你可能很少听说他,可是他却无处不在,iOSUI开发中,任何一个View包括继承于UIView子类上面都会有一个Layer,可以理解为Layer为单独一层,专门负责视图显示,而view除此之外更多负责触摸时间等逻辑处理...    layer.borderColor=[[UIColor magentaColor]CGColor];//设置边框颜色 注意:因为CoreAnimation层是UI层底层,所以这里颜色为CGColor...    layer.shadowColor=[[UIColor blackColor] CGColor];//设置阴影颜色     layer.shadowOpacity=0.5;//设置阴影透明度...这样立体效果是否已经很酷了?NO,加上动画才对。

57920

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

,比如添加圆角、添加阴影偏移、添加边框等。...但这些都是layer才有的属性,并没有提供给UIView,所以我Attributes Inspector里面是没有办法设置,并且,这里也不能设置边框颜色阴影颜色,因为边框颜色阴影颜色是CGColor...然后RadiusView.h文件里面,我们可以随便自定义变量名,比如,圆角、边框宽度、边框颜色阴影颜色阴影偏移offset,然后把IBInspectable直接放到变量前面。...,设置是什么东西,我就在 .m 文件里面,稍微写两个。...当然,放到 .m 文件里也是可以,这个时候我需要说明一下,这个关键字,如果你是M1芯片Mac做开发,你必须把Xcode更新到13.0及以上版本,否则他是不起作用,并且会给你报一个错,但是不影响运行

46010

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

iOS和Mac OS两个平台上,事件和用户交互有很多地方不同,基于多点触控用户界面和基于鼠标键盘有着本质区别,这就是为什么iOS有UIKit和UIView,但是Mac OS有AppKit和NSView...不同UIView,当图层显示屏幕时,CALayer不会自动重绘它内容。它把重绘决定权交给了开发者。    ...这就导致了默认3个点位移阴影是向上Mac,shadowOffset默认值是阴影向下,这样你就能理解为什么iOS阴影方向是向上了(如图4.5)。...当给立方体添加视图时候,我们实际是按照一个顺序添加,所以按照视图/图层顺序来说,4,5,63前面。        ...这个形状不一定要闭合,图层路径也不一定要不可破,事实你可以一个图层绘制好几个不同形状。

40710

Quartz2D复习(四) --- 图层CALayer和动画CAAnimation

1、CALayer 1)、ios中,能看得见摸得着东西基本都是UIView, 比如按钮、文本标签、文本输入框、图标等,这些都是UIView 2)、UIView之所以能显示屏幕,完全是因为它内部一个图层...3)、创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIViewlayer属性可以访问这个层:@property (nonatomic,readonly,...retain) CALayer *layer; 4)、当UIView需要显示到屏幕时,会调用drawRect:方法进行绘图,并且会将所有内容绘制自己图层,绘图完毕后,系统会将图层拷贝到屏幕,于是就完成了...UIView本身不具备显示功能,是它内部层才有显示功能 5)、通过CALayer对象,可以很方便调整UIView一些外观属性,比如:阴影、圆角大小、边框宽度和颜色。。。...、UIImage是定义UIKit框架中;   QuartzCore框架和CoreGraphics框架是可以跨平台使用ios和Mac OSX能使用;   但是UIKit只能在ios中使用;为了保证可移植性

1.4K30

使用 Vagrant 不同操作系统测试你脚本

一个简单命令行界面让你启动、停止、暂停或销毁你“盒子”。 考虑一下这个简单例子。 假设你想写 Ansible 或 shell 脚本,一个新服务器安装 Nginx。...不会再有“但它在我机器运行良好!”这事了。 开始使用 首先,在你系统安装 Vagrant,然后创建一个新文件夹进行实验。...我们例子中,Vagrant 从 Hashicorp Vagrant 目录下载 ubuntu/hirsuite64 镜像,并插入 VirtualBox 来创建实际“盒子”。...vagrant halt:关闭当前“盒子”。 vagrant destroy:销毁当前“盒子”。通过运行此命令,你将失去存储“盒子”任何数据。...如果你不开发软件,但你喜欢尝试新版本操作系统,那么没有比这更简单方法了。今天就试试 Vagrant 吧! 这篇文章最初发表 作者个人博客 ,经许可后被改编。

1K10

Core Animation Programming

Core Animation 是一个复合引擎,它能快速组合屏幕不同显示内容. 并将其分解成独立图层,存储到Layer Tree 体系中....UIView 与 CALayer 平行层级关系 每个UIView 都会有一个CALayer 实例图层属性.也就是backing layer.UIView 职责就是创建并管理这个图层.用来确保当前子视图层级关系中添加或者移除时候...实际,这背后关联图层才是真正用来屏幕显示和做动画.UIView 就是对CALayer图层封装,提供用户交互接口....iOS 和 Mac OS 两个平台下,事件和用户交互存在比较大差异,比如Mac OS用户交互可以通过鼠标/键盘控制.而iOS则通过手势触摸....图层不能处理触摸事件,同样也要视图不能做事情: 阴影,圆角,颜色边框 3D变换 非矩形范围 透明遮罩 多级非线性动画 CALayer's function 除了CALayer 类,CoreAnimation

1.1K10
领券