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

给UICollectionView设置组背景圆角-Swift

---- 最近由于我们的UI设计钟情于圆角搞得我很方,各种圆角渐变,于是就有了下面这篇给UICollectionView的组设置圆角背景色的一个小封装,拿出来大家分享一下,里面的具体的一下细节都在代码注释里面...既然是要设置圆角背景,那我们首先需要考虑的是在哪里设置,直接设置什么属性肯定是不行的,要不然那我就是疯了写这个。?...我们都应该知道UICollectionView我们要想自定义一些东西或者布局几乎都是通过Layout下手的,那我们要给它设置组背景色圆角是不是也在这里进行呢?...// MARK: - set property extension PPCollectionViewFlowLayout{ /// 给collectionView设置背景圆角...append(attribute) } } } NOTE:仔细看代码可以看到圆角背景色的属性都是设置给PPLayoutAttributes,这玩意又是什么呢?

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

iOS动画系列之六:利用CABasic Animation完成带动画特效的登录界面1. 画风突变的笑脸2. 心跳3. iOS实践:实现一个带动效的登录界面

CABasic Animation成果展示.gif 源代码可以在这里下载,里面有OCSwift两版。...https://git.oschina.net/atypical/CABasic-Animation.git iOS动画系列之CABasic-Animation(OCSwift两版) 1....咱们使用的都是UIView提供的动画方法。 2,PhoneNumber Pin 这两个输入框是平移动画。 3,登录按钮是通过阻尼动画实现的闪动。...3,修改了各个边框的圆角。如果有大量大量的圆角修改,请不要直接通过这种方式,会消耗一定的性能。就几个点缀一下,当然是怎么方便怎么来啦。 4,在登录失败交互的时候记得关闭、打开交互效果。...包含了OCSwift两种源代码(下) 第三篇:iOS动画系列之三:Core Animation。介绍了Core Animation的常用属性方法。 第四篇:CABasic Animation。

1.5K60

iOS从Xib中设置样式

项目中找文件 有时候想搜索一个文件,常规的做法是鼠标点击左下角的搜索框,再输入文字,这太慢了,快捷键是:Cmd + Option + J .h.m切换 我在.h.m直接切换从来不用触摸板鼠标,因为...self.layer.cornerRadius = cornerRadius; self.layer.masksToBounds = cornerRadius > 0; } @end Swift...下的实现方式(扩展) UIView+Border&CornerRadius.swift import Foundation import UIKit extension UIView {...layer.borderWidth = newValue / UIScreen.main.scale } } } } 这样你所有的View都可以设置Border圆角了...---- 如果你不想让每个View都这样,你可以使用继承的形式,不过像圆角这类的属性 还是以扩展的方式比较好 下面说一下 继承的方式 OC下的实现方式(继承) UIView+Border&CornerRadius.h

2.3K20

《Motion Design for iOS》(十七)

让我们先添加一个简单的UIView对象到屏幕上并设置它的圆角。我们要把它添加到我们的主窗口上时因为它是一个快速的例子,但在真实的app界面中你需要添加到管理当前界面的视图控制器中。...对象并设置了它的框架来定义它在屏幕上的的XY坐标,以及它的宽和高,然后将其添加到屏幕中。...如我前面所说,要让一个视图的角变为圆角,你需要获取它的layer,所以我们设置它的layer.cornerRadius值为50,这是宽度的一半。...这里是上面一样的功能,但是是Swift而不是Objective-C写的。你可以打开Balls In Swift Xcode工程导出这个例子的Swift版本。...这里是Swift下同样的代码: UIView.animateWithDuration(0.5, delay: 0, options: UIViewAnimationOptions.CurveEaseInOut

93820

iOS开发常用之网络

SubtleVolume.swift - 更隐蔽的系统音量替代指示器。 InkKit.swift - 该类库帮助开发者绘制简单图形更容易。...HYBImageCliped - 可给任意继承UIView的控件添加任意多个圆角,可根据颜色生成图片且可带任意圆角,给UIButton设置不同状态下的图片且可带任意圆角,给UIImageView设置任意图片...SwiftSVG - 支持多种接口(String,NS / UIBezierPath,CAShapeLayerNS / UIView绘制SVG类库。...JMRoundedCorner - UIView设置不触发离屏渲染的圆角! JMRoundedCornerSwift - swift版本:UIView设置不触发离屏渲染的圆角!...CardsAnimationDemo - swift,“使用UICollectionView实现的一个卡片动画”不是直接操作所有UIViewCALayer的transform3D属性来实现整个效果的

23.5K10

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

我们可以通过操作CALayer对象,可以很方便地调整UIView的一些外观属性,可以给UIView设置阴影,圆角,边框等等... 2、如何操作layer改变UIView外观?   ...UIImageView中是UIView的主layer上添加了一个次layer(用来绘制contents),我们设置边框的是主layer,但是次layer在上变,不会有任何的影响,所以当我们调用切割语句的时候...在明白要怎么选择之前,我们先了解一下UIViewlayer的不同点: 在iOS中看的见,摸得着的都是UIView,例如一个按钮,UITextField,UILable等等,都是UIView UIView...,先去调用drawRect方法,将要绘制的东西绘制到图层上,然后拷贝图层,完成了UIView的显示 UIView只有交互的功能,没有显示的功能 CALayer只要显示的功能,没有交互的功能 UIView...10.1 搭建界面   界面上时针、分针、秒针不需要与用户进行交互,所以都可以使用layer方式来做,具体时间可以用用一张圆形图片来显示,然后在这个imageView的layer中进行时针、分针秒针的绘制

1.5K61

iOS-圆角、边框、阴影

当设置成YES时,图层里面所有东西都会被截取 边框 边框需要设置layer的两个属性,borderWidthborderColor,并且边框是沿着图层bounds绘制,同时包含图层的角 borderWidth...圆角+阴影 从上面我们可以得出,因为对裁剪属性不同需求,在一个view上,圆角阴影一般是不可并存的,那么我们需要怎么办呢?...阴影是通过里面的飞机来计算 所以,我们圆角加阴影的实现方案就出来了,我们可以用两个视图来实现,一个只画阴影的空的外图层,一个经过裁剪的内图层,这样外图层的阴影会根据裁剪过后的内图层来计算,这样看起来就即有阴影又有圆角了...UIView *(^ClerVisual) (void); @interface UIView (Animation) // 圆角 @property(nonatomic, strong, readonly...,conrnerBounds就不用传了 下面再来一个具体的用法: // 圆角+边框+阴影 UIView *view = [[UIView alloc] initWithFrame:CGRectMake

2.5K50

iOS面试招人分享

7.layer 绘制图形,layer的锚点,如何确定点击到layer UIImageView加圆角 view,系统如何寻找到需要响应用户操作的那个Responder 8.一个文字轮播,上下滚动,...会swift吗?...7.layer 绘制图形,layer的锚点,如何确定点击到layer UIImageView加圆角 view,系统如何寻找到需要响应用户操作的那个Responder 8.一个文字轮播,上下滚动,...会swift吗? 有看博客,写博客吗 10.讲下你工作中遇到的一些问题如何解决它们的,讲下你的优点 1.第一题其实是没有任何问题的,这道题考的其实是开发者对代码的掌控程度,信心。...UIImageView加圆角是为了性能,因为如果用layer来做,触发离屏渲染,图形少性能可能看不出差别,但图形一多,性能差别就出来了,关于UIImageView加圆角提升性能不懂可以查查.. 8.第8

90360

iOS中离屏渲染触发机制iOS中离屏渲染触发机制

我们发现设置cornerRadius大于0时,只为layer的backgroundColorborder设置圆角;而不会对layer的contents设置圆角,除非同时设置了layer.masksToBounds...为true或者UIView的clipsToBounds属性。...需要在额外的内存中完成多图层组合绘制工作 GPU中的离屏渲染 现在我对上图中增加一个圆角,而上图是由3个图层组成的,且图层渲染到画布后就会被销毁,导致GPU没办法一次性拿到所有图层来进行圆角切割....当然还有其他方法设置圆角但不会触发离屏渲染UIBezierPath。 ? UIBezierPath会涉及到CoreGraphics,在渲染流程 中负责图层的绘制。...可知使用了UIBezierPath在每一个单图层绘制的计算中就已经处理了每个图层的圆角,这时画在画布上的图层就已经是圆角了,估避免了离屏渲染。 2.

1.7K30

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

UIView负责监听相应事件.UIView是更高层的封装 在 iOS 中,你能看得见,摸得着的东西基本上都是UIView.比如一个按钮,一个文本标签,一个文本输入框, 一个图标等.这些都是UIView....当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的图层上,绘图完毕后,系统会将图层拷贝到屏幕上,于是就完成了UIView得显示.换句话说,UIView...,圆角矩形,layer剪裁 设置圆角半径 redView.layer.cornerRadius = 125; 如果控件有两层及以上就需要下面这个属性进行遮盖 redView.layer.masksToBounds...= YES; 已知控件label有两层,imageView,Button,UIView默认就一层,直接设置圆角就可以裁掉,但是各控件加了图片就会变成两层,依然需要masksToBounds属性;...此处可以UIView的clipToBounds来比较记忆(clipToBounds为yes会使其上的内容包括子视图不能超出边界) 控件截图裁剪的三种方法: 给layer设置圆角半径layer.cornerRadius

1.4K70

iOS 渲染原理解析

CALayer 与 UIView 的关系 UIView 作为最常用的视图控件, CALayer 也有着千丝万缕的联系,那么两者之间到底是个什么关系,他们有什么差异?...举几个例子: 相同的层级结构:我们对 UIView 的层级结构非常熟悉,由于每个 UIView 都对应 CALayer 负责页面的绘制,所以 CALayer 也具有相应的层级结构。...假设我们需要绘制一个三层的 sublayer,不设置裁剪圆角,那么整个绘制过程就如下图所示: [172743404fb1773a?...【UIBezierPath】用贝塞尔曲线绘制闭合带圆角的矩形,在上下文中设置只有内部可见,再将不带圆角的 layer 渲染成图片,添加到贝塞尔矩形中。...UIView CALayer 是什么关系?有什么区别? 为什么会同时有 UIView CALayer,能否合成一个? 渲染流水线中,CPU 会负责哪些任务? 离屏渲染为什么会有效率问题?

2K50

iOS学习——Quartz2D学习(1)

他是一个二维的绘图引擎,同时支持iOSMac系统 2、Quartz2D能完成的工作   画基本线条,绘制文字,图片,截图,自定义UIView. 3、Quartz2D在开发中的价值   当我们的控件样式极其复杂时...首先得要有上下文,有了上下文才能决定把绘制的东西显示到哪个地方去.CGContextRef ctx = UIGraphicsGetCurrentContext(); 其次就是这个上下文必须得View...相关联.才能将内容绘制到View上面.在DrawRect方法方法里 步骤: 1.要先自定定UIView 2.实现DrawRect方法 3.在DrawRect方法中取得跟View相关联的上下文...在调用这些方法之前,我们要进行一些其他的任务去确保正确的绘制path,以及path的设置。 使用UIColor类的方法去strokefill想要的颜色。...使用strokefill方法进行渲染时,不需要我们手动去获取上下文了,这两个方法会自定获取view的上下文,然后在该view上绘制渲染path对应的路径,stroke是绘制线,fill是填充path对应的封闭区域

1.1K20

Xib、Nib、Storyboard下修改控件边框颜色、大小、圆角

问题: 今天有一个页面有很多uibutton,所以就用xib搭了界面,然后问题来了,如何在xib下修改控件的边框颜色大小、圆角?...我之前知道利用IB面板下的“UserDefined Runtime Attributes”(如下图),然后问题来了,设置圆角可以成功设置,但是设置uibutton的边框颜色不行。...borderIBColor { return[UIColor colorWithCGColor:self.borderColor]; } @end 自定义的时候要注意borderIBColor属性的settergetter...方法的内容不要错了,然后可以完美运行 扩展:在swift 2.0可以用一下方法(我没有试) import Foundation extension CALayer{ //解决IB中runtime attribute...color.CGColor; } get{ returnUIColor(CGColor:self.borderColor) } } } 最后感谢大神们:Is it possible to set UIView

2.1K20

iOS 优化界面流畅的技巧

当视图层次调整时,UIView、CALayer 之间会出现很多方法调用与通知,所以在优化性能时,应该尽量避免调整视图层次、添加移除视图。...常见的文本控件 (UILabel、UITextView 等),其排版绘制都是在主线程进行的,当显示大量文本时,CPU 的压力会非常大。...图像的绘制 图像的绘制通常是指用那些以 CG 开头的方法把图像绘制到画布中,然后从画布创建图片并显示这样一个过程。这个最常见的地方就是 [UIView drawRect:] 里面了。...对于只需要圆角的某些场合,也可以用一张已经绘制好的圆角图片覆盖到原本视图上面来模拟相同的视觉效果。最彻底的解决办法,就是把需要显示的图形在后台线程绘制为图片,避免使用圆角、阴影、遮罩等属性。...YYAsyncLayer 是 CALayer 的子类,当它需要显示内容(比如调用了 [layer setNeedDisplay])时,它会向 delegate,也就是 UIView 请求一个异步绘制的任务

1.4K10
领券