iOS开发之动画中的时间(概况)】的更多相关文章

一.引言 在iOS开发中使用动画时,可以通过设置动画的duration.speed.begintime.offset属性,来设置动画的时长.速度.起始时间及起始偏移. 用一个简单的例子来说明各个参数的的作用.动画很简单,一个红色的方块从左移到右边.动画的持续时间是1s,没有重复,效果如下. CFTimeInterval currentTime = CACurrentMediaTime(); CFTimeInterval currentTimeInLayer = [self.testLayer c…
概述 在动画中,我们会指定动画的持续时间.例如 scaleAnimation.duration = self.config.appearDuration 那么这个时间是怎么定义的呢?是指的绝对时间吗? 层级时间结构 layer在屏幕上的显示位置是根据父layer的位置以及本身相对于父layer偏移定义的. 与此类似,每一个layer都有自己的time space,计算本地时间(local time)时候,需要根据父layer的时间以及一定的转换规则来计算出本地时间. 这个规则就是CAMediaT…
iOS开发之动画编程的几种方法 IOS中的动画总结来说有五种:UIView<block>,CAAnimation<CABasicAnimation,CATransition,CAKeyframeAnimation>,NSTimer 这里我就总结了一下这五种方法,其实iOS开发中动画的编程都会在这里面变化,所以只要弄懂了这些动画编程就不难了. 一:UIView动画 一般方式 [UIView beginAnimations:@"ddd" context:nil];/…
毋庸置疑的:在iOS开发中,制作动画效果是最让开发者享受的环节之一.一个设计严谨.精细的动画效果能给用户耳目一新的效果,吸引他们的眼光 —— 这对于app而言是非常重要的. 本文作为动画文集的第一篇,最开始是想做个qq下拉刷新的水滴动画的制作讲解,但这几天研读<iOS Animations by Tutorials>一书,对iOS动画开发有了更为深刻的了解,于是决定动画篇将从UIView动画开始讲起,以后还会有Layer.Transitioning等在内的动画,希望本文能抛砖引玉,带给大家不一…
一.简介 IOS 动画主要是指Core Animation框架.官方使用文档地址为:Core Animation Guide.Core Animation是IOS和OS X平台上负责图形渲染与动画的基础框架.Core Animation可以作用与动画视图或者其他可视元素,为你完成了动画所需的大部分绘帧工作.你只需要配置少量的动画参数(如开始点的位置和结束点的位置)即可使用Core Animation的动画效果.Core Animation将大部分实际的绘图任务交给了图形硬件来处理,图形硬件会加速…
/** UIView与核心动画区别?(掌握) 1.核心动画只作用在layer. 2.核心动画看到的都是假像,它并没有去修改UIView的真实位置. 什么时候使用核心动画? 1.当不需要与用户进行交互,使用核心动画 2.当要根据路径做动画时,使用核心动画:CABasicAnimation,CAKeyFrameAnimation,两个都可以根据绘制的路径UIBizerPath来绘制路径来执行动画 3.当做转场动画时, 使用核心动画 (核心动画转场类型比较多)CATrasition或是UIView的核…
今天在项目中开始接手客户端的签名这个模块,签名这个会在项目结束过后再单独写一下自己的心得! 今天讲讲在签名的过程中我们需要向服务器传送一个Date值,格式要求是格林威治时间,也就是GMT时间! 格式要求是 22 Oct 2015 10:20:35 GMT 而我通过[NSDate Date]获取到的格式是2015-10-22 10:20:35 所以就上网搜寻答案 说的是通过[NSDate Date]这个获取到的时间就是GMT地区的,所以我就觉得是转格式的地方出问题了 但是经过一番尝试后,无论是转格…
[前提知识] ARC:Automatic Reference Counting,自动引用计数 在开发 iOS 3 以及之前的版本的项目时我们要自己负责使用引用计数来管理内存,比如要手动 retain.release.autorelease 等,而在其后的版本可以使用 ARC,让系统自己管理内存. [问题] 在项目开发过程中我们通常会用到第三方提供的源代码,麻烦的是有些开源项目用的是 ARC,有的用的是非 ARC. 我在使用 SVProgressHUD 做等待视图时遇到问题,最终发现该项目使用的是…
[前提知识] ARC:Automatic Reference Counting,自动引用计数 在开发 iOS 3 以及之前的版本的项目时我们要自己负责使用引用计数来管理内存,比如要手动 retain.release.autorelease 等,而在其后的版本可以使用 ARC,让系统自己管理内存. [问题] 在项目开发过程中我们通常会用到第三方提供的源代码,麻烦的是有些开源项目用的是 ARC,有的用的是非 ARC. 我在使用 SVProgressHUD 做等待视图时遇到问题,最终发现该项目使用的是…
1.CALayer简介 CALayer是个与UIView很类似的概念,同样有backgroundColor.frame等相似的属性,我们可以将UIView看做一种特殊的CALayer.但实际上UIView是对CALayer封装,在CALayer的基础上再添加交互功能.UIView的显示必须依赖于CALayer.我们同样可以跟新建view一样新建一个layer,然后添加到某个已有的layer上,同样可以对layer调整大小.位置.透明度等.一般来说,layer可以有两种用途:一是对view相关属性…
项目中开发中需要对一些数据进行加密后和服务器验证是否是我们客户端发出的请求! 方案是服务器定的,使用HmacSHA1加密和MD5 Base64加密 加密过程比较复杂 1.获取格林威治时间 2.用base64编码对请求数据内容进行MD5值计算 3.设置请求格式 4.设置鉴权信息,需要对上面的3个内容以及请求的链接 进行HMacSHA1再次进行加密 加密过后把上面4步获得的值加入到http的请求头中,一并发送给服务器,服务器经过验证后,才返回给我们我们想要的信息 下面贴代码说明我们使用的两个加密 首…
CAMediaTiming是一个协议(protocol),CAAnimation是所有动画类的父类,但是它不能直接使用,应该使用它的子类. 继承关系: CoreAnmiation 核心动画 简写CA                                                                                                         CoreAnimation 中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做…
最近在开发中遇到需要Cell中imageView和textLable位置和大小的情况,设计希望得到的结果如下图所示: 而TableViewCell默认样式,image是靠紧左边的,并且image和title之间的间隙较小 为实现设计中的效果,我们需要继承UITableViewCell,对cell.imageView.frame.cell.textLable.frame进行设置,控制它们大小和位置. - (void)layoutSubviews { [superlayoutSubviews]; s…
下载地址: http://code4app.com/ios/TQRichTextView/5244fe9c6803fa0862000000 1.首先找到AppDelegate类.不管一个project有多么复杂,多么多的类.但入口仅仅有一个就是AppDelegate类的didFinishLaunchingWithOptions方法.我们阅读别人源码的时候能够从这里入手. 在TQRichTextViewDemoproject中.这种方法中仅创建了一个TQViewController并设置为wind…
第一步: 在info.plist中 View controller-based status bar appearance这个属性设置为 View controller-based status bar appearance =NO 这个意思是:View Controller 不对status Bar 显示进行操作 第二步: 由于项目是一个以tabbarController的父类进行开发的;所以在这个父类里面添加如下方法: [[UIApplication sharedApplication] s…
#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIView *redView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typic…
一:隐式动画 #import "ViewController.h" @interface ViewController () /** <#注释#> */ @property (nonatomic, weak) CALayer *layer; @property (weak, nonatomic) IBOutlet UIView *redView; @end @implementation ViewController - (void)viewDidLoad { [super…
#import <Foundation/Foundation.h> void other(); void string2date(); int main(int argc, const char * argv[]) { @autoreleasepool { other(); string2date(); } ; } void other() { // 获得NSCalendar NSCalendar *calendar = nil; if ([NSCalendar respondsToSelec…
什么是 HTTP ? 超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信. HTTP 的工作方式是客户端与服务器之间的请求-应答协议. web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端. 举例:客户端(浏览器)向服务器提交 HTTP 请求:服务器向客户端返回响应.响应包含关于请求的状态信息以及可能被请求的内容. 两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST. GET - 从…
核心动画可以让View旋转,缩放,平移(主要是操作View的layer(层)属性)但是核心动画改变的位置不是真实的位置,一切都是假象所以有时候要用到其他动画,如UIView本来封装的动画,还有定时器 // 实现图片360°旋转 CABasicAnimation* rotationAnimation; rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; rotationA…
Subversion 1.7 provides many benefits: svn1.7版本有以下好处: Improved performance. Increased speed for many common source control operations, most notably a significant increase in checkout speed.//改良性能 使souce control的各项操作速度提高,更显著地是提高了co的速度 Blame for modifi…
一 Block是什么? 我们使用^运算符来声明一个Block变量,而且在声明完一个Block变量后要像声明普通变量一样,后面要加; 声明Block变量 int (^block)(int) = NULL; Block变量的语法 数据返回值类型 (^变量名)(参数列表) = NULL 赋值Block变量 block = ^(int m) { return m * m; }; 使用Block变量 // 通过使用block变量,计算整型常量10的平方,并且打印在控制器输出 NSLog()); 示例代码:…
NSDate Date默认显示的是格林尼治所在地的标准时间(GMT),转换为中国时区需要加上八个小时,针对与这个情况你可以直接在获取时间之后加上八个小时,也可以转换到当前时区,都很简单,代码参考如下: NSDate *date=[NSDate date]; NSLog(@"格林尼治时间 %@",date); NSInteger interval = [[NSTimeZone systemTimeZone] secondsFromGMTForDate: date]; NSDate *lo…
1,substringFromIndex 从索引0开发到到index的后面的字符 2,substringWithRange 取指定range里面的字符,左边为索引index,右边为截取的范围 3,substringToIndex 从索引0到给定的索引index 代码如下: NSString *str = "; // NSString *subString0 = [str substringFromIndex:-1]; //会放生越界错误 NSString *subString1 = [str s…
在使用UIButton时,有时候需要调整按钮内部的imageView和titleLabel的位置和尺寸.在默认情况下,按钮内部的imageView和titleLabel的显示效果是图片在左文字在右,然后两者紧挨在一起构成组合居中显示. 如下图:…
#动画设置 UIView动画实现 @interface ViewController () @property (weak, nonatomic) IBOutlet UIView *myView; @property (weak, nonatomic) IBOutlet UIView *redView; @end #pragma mark - UIView类实现动画 #pragma mark - Animating Views with Block Object @implementation…
一般情况下,tableview中的section是会默认不随着tableview的滚动而滚动的,而是会等到属于这个section的cell滑完过后,然后往上顶(不知道大家能不能听懂=_=!) 有些时候这样显得不是很美观,而且有些项目是需要主要针对section而不是row 进行操作,所以这个时候控制section不悬停就显得很重要 这里有两种方法,直接贴代码吧 第一种: #pragma -mark 控制section不悬停 - (void)scrollViewDidScroll:(UIScrol…
不知大家有没有遇见过自己写的tableview被导航栏遮挡住的问题,反正我是遇见过! 因为在ios7以后所有的UIViewController创建后默认就是full Screen的,因此如果带导航栏的应用界面中的部分控件会被导航栏覆盖掉. 解决方案:可以使用ios7中的UIViewController新增的属性extendLayoutIncludesOpaqueBars和edgesForExtendedLayout来解决. extendLayoutIncludesOpaqueBars指定了当ba…
如果你的UITableViewCell里面有一个Button需要响应事件,你会怎么做? 在Controller中使用 button父类的父类?   例如:UITableViewCell *parentCell = [[button superview]superview]; 这种方式可能是最快的,但是这样的问题是,它很脆弱,如果我们一旦把按钮向上或者向下移动一个层次,那么代码立刻就会出错,而且此时我们却很难发现出错的原因 所以,幸好UIView为我们提供了查找视图所在行的简洁方法,实现视图坐标系…
设置tableview的滚动范围 有时候tableview的footerview上的内容需要向上拖动界面一定距离才能够看见, 项目中因为我需要在footerviw上添加一个按钮,而这个按钮又因为这个原因点不中,所以找到了解决办法! 添加如下方法即可 -(void)scrollViewDidScroll:(UIScrollView *)scrollView { self.tableView.contentSize = CGSizeMake(0,MZT_SCREEN_HEIGHT); }…