自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码虫儿

积累……

  • 博客(30)
  • 收藏
  • 关注

转载 iOS开发的一些小技巧

1.任意设置Cell选中状态的背景色:UIView *bgView = [[UIView alloc] init];bgView.backgroundColor = [UIColor orangeColor];self.selectedBackgroundView = bgView;该方法设置的是纯色, 也可以使用任何图片,把selectedBackgroundView设成UIImageVie

2016-04-02 19:30:29 714

转载 UITableView的介绍及使用

前言UITableView堪称UIKit里面最复杂的一个控件了,使用起来不算难,但是要用好并不容易。当使用的时候我们必须要考虑到后台数据的设计,tableViewCell的设计和重用以及tableView的效率等问题。下面分9个方面进行介绍:一、UITableView概述UITableView继承自UIScrollView,可以表现为Plain和Grouped两种风格。查看UITableView

2016-04-02 18:54:04 406

转载 页面间跳转的性能优化(一)

前言现在App的页面越来越复杂,页面初始化的工作越来越多,加载页面所需的时间也随之增长,如果页面加载的时间过长,这将会影响App的流畅度及用户体验,我们需要解决这一问题。观察过一些日常使用的App,页面间跳转的性能问题总结为以下三种情形:1).A页面跳转到B页面,由于B页面需要加载大量的数据,所以导致页面跳转延迟。2).A页面跳转到B页面,由于B页面需要加载大量UI元素,所以导致页面跳转延迟。3).

2016-04-02 11:03:17 784

原创 iOS中Cookie的使用

前段时间,在工作中使用到Cookie,就简单的了解了一下Cookie. Cookie是服务器响应的数据,可以理解为Cookie就是发送网络请求后服务器返回的一种数据对象,就像字典一样。 应用场景:你发送一个网络请求,服务器要判断你是不是登录账号后发送的请求,根据是否登录,来返回不同的数据 大致流程:发送请求-服务器返回Cookie数据-APP保存Cookie到沙盒-下次网络请求把Cookie放

2016-03-20 22:57:29 562

原创 NSString转GBK编码格式

utf-8转GBK编码在这里就不说了,网上的答案很多,只说一下NSString转GBK编码格式,使用的时候,在网上也搜了很多答案,但是基本上都是错误的。正确的转法//设置GBK编码格式NSStringEncoding gbkEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000

2016-03-20 22:01:05 1187

原创 关于SB的Layout优先级(priority)

效果图 1.当车牌号码中文字长度大于0时,显示左边的label 2.当车牌好码中文字长度大于5时,显示下面的view,以及改变查询按钮的位置思路:1.设置车牌号码输入框分别于左侧“车牌号码”以及“豫”的约束,分别设置约束优先级,并且连线。先让“豫”隐藏。当文字长度大于1时,让文本输入框与“豫”的优先级最大 2.同理,分别设置查询按钮与上面的优先级,监听文本长度,设置优先级,具体看代码 //车

2016-03-14 23:16:02 726

原创 iOS中.PCH文件的配置及使用

在Xcode6之前,创建一个新工程xcode会在Supporting files文件夹下面自动创建一个“工程名-Prefix.pch”文件,也是一个头文件,pch头文件的内容能被项目中的其他所有源文件共享和访问。是一个预编译文件。PCH文件的作用1.用来包含一些使用频率较高的头文件 2.存放一些全局的宏 3.因为是预编译文件,运行项目会加大编译时间,所以在Xcode6之后,苹果为了避免滥用pch

2016-03-12 13:01:06 535

转载 XML与JSON的区别

JSON和XML的比较可读性JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式,很难分出胜负。 可扩展性XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,而JSON却不能。不过JSON在Javascript主场作战,可以存储Javascript复合对象,有着xml不可比拟的优势。编码难度XML有丰富的编码工具,比如Dom4j、JDom等,JSON

2016-02-04 10:43:18 766

原创 Core Animation实例3-倒影效果(CAReplicatorLayer复制层)

效果 利用CAReplicatorLayer做出的效果 注意: 设置控制器view的layer为CAReplicatorLayer,那么控制器上所有的控件都可以复制 自定义控制器view,设置layer为CAReplicatorLayer// 设置view里面根层的类型+ (Class)layerClass{ return [CAReplicatorLayer class];

2016-02-03 14:18:50 714

原创 Core Animation实例2-活动指示器(CAReplicatorLayer复制层)

demo 可以利用CAReplicatorLayer复制层给View添加一直活动状态的动画,并且可以设置复制时间与动画时间的比值,设定显示效果,比如说上图:复制时间是动画时间的三倍,显示三个动画效果 直接上代码@interface ViewController ()@property (weak, nonatomic) IBOutlet UIView *redView;@end@impleme

2016-02-03 11:20:30 413

原创 Core Animation实例1-音量振动条(CAReplicatorLayer复制层)

分析震动条界面每一个条都在做一个上下缩放的动画.而且不需要与用户交互.所以每一个震动条可以用CALayer来做. 发现每个都非常相似.所以先搞定一个,然后其它的直接复制就可以了.添加动画添加高度缩小后,马上还原 为什么选用核心动画? 给图层做动画用核心动画,不需要与用户做交互.采用哪一种核心动画?把它的缩放改成某个值就好了.选用CABasicAnimation CABasicAnima

2016-02-03 10:11:31 556

原创 Core Animation实例-图片折叠效果(CAGradientLayer渐变层)

1.分析界面效果当鼠标在图片上拖动的时候,图片有一个折叠的效果. 这种折叠效果其实就是图片的上半部分绕着X轴做一个旋转的操作. 我们图片的旋转都是绕着锚点进行旋转的.所以如果是一张图片的,办不到只上图片的上半部分进行一个旋转. 其实是两张图片, 把两张图片合成一张图片的方法, 实现方案.弄上下两张图片,上上部图片只显示上半部分, 下部图片只显示下半部分.2.如果让一张图片只显示上半部分或者下

2016-02-03 09:50:25 1004

原创 Core Animation(核心动画)的基本介绍与使用

Core Animation简介Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。Core Animation可以用在Mac OS X和iOS平台。Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程。要注意的是,Core Animat

2016-02-02 16:12:18 1428

原创 CALayer的基本使用

CALayer的基本属性在这里不多说了,网上对属性和方法介绍的很清楚,下面直接上demo效果时钟主要使用到的几个知识点anchorPoint(锚点)与position的使用用NSCalendar和NSDateComponents拿到日期的组件#import "ViewController.h"// 每秒秒针转6°#define kPerSecondA 6// 每分钟分针转6°#defin

2016-02-02 12:19:29 484

原创 iOS事务的基本概念

事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。 针对上面的描述可以看出,事务的提出主要是为了解决

2016-02-02 10:02:09 476

转载 离屏绘制

在研究如何高性能的给UIImageView加圆角时,之前知道用self.view.layer直接设置cornerRadius,masksToBounds会出现性能问题,当设置的图片多的时候会出现卡顿现象,但是对于原因却是不清楚,后来发现用上面的方法出现卡顿现象是因为:强制Core Animation提前渲染屏幕的离屏绘制,而离屏绘制会给性能带来负面的影响,下面是对离屏绘制的解释一、概念理解OpenG

2016-02-01 19:51:22 1631

原创 UIImagePickerController简单使用

UIImagePickerController为系统的照片选择器选择相册里的照片// 选择照片- (IBAction)pickerPhoto:(id)sender { // 进入系统的相册UIImagePickerController // 创建一个照片选择控制器 UIImagePickerController *imagePickerVc = [[UIImagePicker

2016-02-01 16:11:27 355

原创 手势滑动解锁

思路遍历生成且设置按钮当手指点击或者滑动的时候拿到当前触摸点,遍历每一个按钮,将当前触摸点转换为按钮上点,判断时候在按钮上如果在按钮上,设置当前按钮为选中状态,添加到选中按钮数组中在drawInRect:中画线,遍历每一个按钮,让第一个按钮的中心点为线段的起点松开手指时,清空选中按钮数组中的值,重绘 @interface LockView ()@property (nonatomic, a

2016-02-01 16:03:48 859

原创 图片擦除

图片擦除添加一张图片,模仿橡皮擦功能- (IBAction)pan:(UIPanGestureRecognizer *)sender { // 获取当前触摸点 手势有一个View属性,View是添加了手势的view CGPoint curP =[sender locationInView:sender.view]; // 确定擦除区域 CGFloat wh = 30;

2016-02-01 15:42:23 537

原创 截图

屏幕截图- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ // 截屏,生成跟view一样的图片 // 开启位图上下文 UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, 0); // 获取当前上下文==>位图上

2016-02-01 15:39:09 402

原创 关于Quartz2D的几个demo

画饼图- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [self setNeedsDisplay];}// Only override drawRect: if you perform custom drawing.- (void)drawRect:(CGRect)rect { // Draw

2016-01-31 21:49:03 433

原创 抽屉效果

效果 - 向右滑动显示左视图,向左滑动显示右视图 - 滑动时根据主视图的偏移量,改变主视图的大小,位置思路1.在中间view上添加一个拖拽手势2.在拖拽方法中拿到X偏移量,设置修改当前view的frame3.设置显示左边View还是右边View,通过KVO监听当前view的x值正负4.当松手时,设置最后定位在那边。监听手势状态,根据当前松手时位置,进行位置判断,设置偏移量,确定最后的位置

2016-01-31 15:49:04 435

原创 #define 自动提示宏

自动提示宏:就是在输入宏的时候有提示功能 需求例子:比如说想要通过KVO监听View的frame改变,正常是这样写[_mainView addObserver:self forKeyPath:@"frame"options:NSKeyValueObservingOptionNew context:nil];上面写的缺点:监听KeyPath必须是字符串,写字符串没有提示,容易写错。KVO中想要的提示

2016-01-31 11:22:51 802

原创 UIGestureRecognizer手势

监听触摸事件的做法如果想监听一个view上面的触摸事件,之前的做法是自定义一个view实现view的touches方法,在方法内部实现具体处理代码通过touches方法监听view触摸事件,有很明显的几个缺点必须得自定义view由于是在view内部的touches方法中监听触摸事件,因此默认情况下,无法让其他外界对象监听view的触摸事件不容易区分用户的具体手势行为iOS 3.2之后,苹

2016-01-30 15:13:41 449

原创 响应者

响应者链条示意图响应者链条:是由多个响应者对象连接起来的链条作用:能很清楚的看见每个响应者之间的联系,并且可以让一个事件多个对象处理。响应者对象:能处理事件的对象 响应者链的事件传递过程如果view的控制器存在,就传递给控制器;如果控制器不存在,则将其传递给它的父视图在视图层次结构的最顶级视图,如果也不能处理收到的事件或消息,则其将事件或消息传递给window对象进行处理如果window

2016-01-30 14:47:31 487

原创 iOS中的事件产生与传递

触摸事件iOS中的事件可以分为3大类型:触摸事件,加速计事件,远程控制事件.在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”UIView的触摸事件处理UIView是UIResponder的子类,可以覆盖下列4个方法处理不同的触摸事件一根或者多根手指开始触摸view,系统会自动调用view的下面方法 (void)touchesB

2016-01-28 21:52:22 533

原创 UIView的transform属性及使用案例

transform属性作用:给我们的控件做一些形变,(平移,缩放,旋转)移动// 平移//每次移动都是相对于上次位置 _redView.transform = CGAffineTransformTranslate(_redView.transform, 100, 0);//每次移动都是相对于最开始的位置 _redView.transform = CGAffineTransformMakeTr

2016-01-26 23:45:26 5063

原创 ScrollView的几个重要的属性

contentSize://滚动范围,内容的尺寸contentInset://内边距contentOffset://偏移量(scrollView.bounds.origin)bounds://以自己内容的左上角为坐标原点,scrollView矩形框的位置个尺寸frame://以父控件内容的左上角为坐标原点,scrollView矩形框的位置和尺寸以上是scrollView的几个重要的属性,接

2016-01-26 09:33:05 1324

原创 新浪微博个人详情页

知识点:tableView中结合偏移量,内边距计算等逻辑实现 稍微注意的是: - 1.显示主页 微博 相册的选项栏,是组头视图 - 2.显示背景头像及头像的view是头部视图 - 3.向下拖动,图片拉伸的细节:在SB中设置图片填充模式(Mode):AspectFill. 并且设置超出父视图的子控件剪切掉 - - 设置导航条背景图片时,使用了一个image分类 其它实现说明,都在代码注

2016-01-25 21:04:34 1053

原创 UIPickView与UIDatePicker的使用

介绍UIPickView和UIDatePicker1.UIPickView什么时候用?通常在注册模块,当用户需要选择一些东西的时候,比如说城市,往往弹出一个PickerView给他们选择。老虎机效果2.UIPickView常见用法独立的,没有任何关系 => 菜单系统。相关联的,下一列和第一列有联系=> 省会城市选择图文并帽, => 国旗选择。3.UIPickView4.UIDatePi

2016-01-25 12:03:20 2003

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除