项目知识
hpcph
这个作者很懒,什么都没留下…
展开
-
CADisplayLink(主) 和 NSTimer
什么是CADisplayLink CADisplayLink是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时器。我们在应用中创建一个新的 CADisplayLink 对象,把它添加到一个runloop中,并给它提供一个 target 和selector 在屏幕刷新的时候调用。一但 CADisplayLink 以特定的模式注册到runloop之后,每当屏幕需要刷新的时候,runloop就转载 2016-04-26 19:00:47 · 301 阅读 · 0 评论 -
iOS开发 清理缓存功能的实现
移动应用在处理网络资源时,一般都会做离线缓存处理,其中以图片缓存最为典型,其中很流行的离线缓存框架为SDWebImage。但是,离线缓存会占用手机存储空间,所以缓存清理功能基本成为资讯、购物、阅读类app的标配功能。今天介绍的离线缓存功能的实现,主要分为缓存文件大小的获取、删除缓存文件的实现。获取缓存文件的大小由于缓存文件存在沙箱中,我们可以通过NSFileManager API来实现对缓存文件大小转载 2016-05-13 14:23:01 · 390 阅读 · 0 评论 -
iOS 自带的定位系统 (设置注意事项)
最近在ios8.0使用CLLocationManager定位服务,发现老不能定位,查看设置菜单中的项也是处于未知状态.想起之前都有一个弹出框提示用户是否允许定位,这次一直没有出现了.原来ios8.0下的定位服务需要申请授权了. 具体代码如下:if ([CLLocationManager locationServicesEnabled]) {self.locationManager = [[CLLoc原创 2016-04-21 12:02:06 · 729 阅读 · 0 评论 -
Animation 技巧分析 获取动画中的控件的实时frame
有时候要制作某个动画,用到了系统功能自带的弹簧动画 然后根据 弹簧动画中控件的frame 来标记计算 相应控件的改变值-(void)drawAnimation{ // 获取方法 // 1.获取动画中控件的layer CALayer *sideHelperPresentationLayer = (CALayer *)[self.view1.layer presentat原创 2016-08-10 10:53:34 · 618 阅读 · 0 评论 -
UILabel 少人知道却很实用的技巧
UILabel的frame自适应UILabel的文字,使文字完整显示UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];label.text = @"frame自适应文字,frame自动变化";// 关键语句[label sizeToFit];[self.view addSubview:label];UILa原创 2016-08-10 11:08:20 · 276 阅读 · 0 评论 -
获取手机信息(UIDevice、NSBundle、NSLocale)
iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备、系统信息、应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发api可以获取到的。那么通过那些api可以获取这些信息呢,iOS的SDK中提供了UIDevice,NSBundle,NSLocale。 UIDevice UIDevice提供了多种属性、类函数及状态通转载 2016-08-11 10:44:48 · 299 阅读 · 0 评论 -
iOS :获取通讯录 新的contact框架
一 前言 最近项目要求 获取用户通讯录 这一功能,发现以前的AddressBook框架已经被弃用了,iOS 9.0 以后改为Contacts框架。但是网上大多是swift版本,OC版本较少。花了一些时间,简单整理了这个通讯录功能,基本能满足项目要求。二 添加联系人 在使用前,先在项目中导入ContactsUI.framework 和Contacts.framework两个框架。接着在需要使用的页转载 2016-08-11 11:35:16 · 889 阅读 · 0 评论