自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 AsyncSocket

一.在项目引入AsyncSocket库步骤  1.下载ASyncSocket库源码  2.把ASyncSocket库源码加入项目:只需要增加RunLoop目录中的AsyncSocket.h、AsyncSocket.m、AsyncUdpSocket.h和AsyncUdpSocket.m四个文件。  3.在项目增加CFNetwork框架。在Framework目录右健,选择Add

2016-07-25 14:10:00 286

原创 修改UITextfield的Placeholder字体的颜色

//第一种         UIColor *color = [UIColorwhiteColor];        UITextField* _userName = [UITextFieldnew];        _userName.attributedPlaceholder = [[NSAttributedStringalloc] initWithSt

2016-03-31 10:00:30 260

转载 CGPathCreateMutable 绘制

ios 图形与动画学习笔记 构造路径(CGPathCreateMutable)一系列点放在一起,构成了一个形状。一系列的形状放在一起,构成了一个路径。/*     路径属于我们正在绘制他们的上下文。路径没有边界(Boundary)或特定的形状,不想我们使用路径绘制出来的形状。     但路径没有边界框(Bounding boxes). 此处,Boundary与Bou

2016-03-30 16:19:24 1880

转载 UIview需要知道的一些事情:setNeedsDisplay、setNeedsLayout

1、在Mac OS中NSWindow的父类是NSResponder,而在i OS 中UIWindow 的父类是UIVIew。程序一般只有一个窗口但是会又很多视图。2、UIView的作用:描画和动画,视图负责对其所属的矩形区域描画、布局和子视图管理、事件处理、可以接收触摸事件、事件信息的载体、等等。 3、UIViewController 负责创建其管理的视图及在低内存的时候将他们从内

2016-03-30 15:59:42 253

原创 image叠加(UIGraphicsBeginImageContext)

-(UIImage*)image2{    //比如说我们现在有两张图片需要合并,是把一个滑稽的帽子放到一个人的头上。这里是两个UIImage:    UIImage *radioImage = [UIImageimageNamed:@"radio"];//kuang    UIImage *switchImage = [UIImageimageNamed:@"

2016-01-20 16:13:49 450

原创 发送验证码时设置UIButton的倒计时

#pragma mark-(void)getYZMAction: (id)sender{    ToastTool *tool = [ToastToolshareToastTool];    tool.message = @"验证码已发送!";    [tool show];        __block int timeout=60

2015-12-17 16:19:13 772

原创 偏好设置 NSUserDefaults

NSUserDefaults

2015-08-19 15:17:30 299

原创 controller里面函数的调用顺序

controller里面函数的调用顺序:initWithNibName:bundle  /  initWithCode (如果使用storyboard)loadViewviewDidLoadviewWillAppearviewWillLayoutSubviewsviewDidLayoutSubviewsviewDidAppear

2015-06-30 17:58:41 433

原创 回调函数

做为初级选手,我们把Block、委托、回调函数,视为同一原理的三种不同名称。也就是说,现在,我们把这三个名词当成一回事。在这篇文章内,Block就是回调函数,委托也是回调函数,不再作详细的区分了。OK,Action!那么,什么是回调函数?“回调”概念的主语是谁?举个栗子(伪代码):首先有个类,我们姑且称之为A类吧。A.h 文件//声明回调函数:给指定的员工发

2015-05-30 17:14:06 288

原创 圆形头像

View有一个属性layer,通过设置cornerRadius来设置圆角的半径,view是正方形的才能保证通过调整圆角半径来形成圆形头像 第一种(常用) [view.layer setCornerRadius:CGRectGetHeight([view bounds]) / 2]; view.layer.masksToBounds = YES;然后再给图

2015-05-28 20:33:12 489

转载 响应者链条(转)

响应者链条简单来说就是 :一级一级的找到响应的视图,如果没有就传给UIWindow实例和UIApplication实例,要是他们也处理不了,就丢弃这次事件...对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。对应的事件类型有以下三种:1、触屏事件(Touch Event)2、运动事件(Motion Event)3、远端

2015-05-27 20:34:45 397

原创 UICollectionView 初试总结

UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController 类。使用UICollectionView 必须实现UICollectionViewDataSource,UICollectionViewDe

2015-05-27 19:42:09 238

原创 socket编程

由于 iOS 设备通常是作为客户端,下文将演示如何编写客户端代码。先来总结一下客户端工作流程。客户端调用 socket(...) 创建socket;客户端调用 connect(...) 向服务器发起连接请求以建立连接;客户端与服务器建立连接之后,就可以通过 send(...)/receive(...)向客户端发送或从客户端接收数据;客户端调用 close 关闭 socket;

2015-05-27 19:39:57 205

原创 二叉树

在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2^{i-1}个结点;深度为k的二叉树至多有2^k-1个结点;对任何一棵二叉树T,如果

2015-05-27 16:14:45 233

原创 (转)第三方框架-UI界面类项目

UI界面类项目:Panoramagl—— 720全景展示Panorama viewerlibraryfor iPhone, iPad and iPod touchMBProgressHUD—— 进度指示一种优雅的,半透明的进度显示效果。同时还提供了其他附加功能,比如显示完成信息并淡出。iCarousel—— 效果很酷的分页排列内容类似的页面需要并排列

2015-05-26 17:54:00 312

原创 UITableViewCell的自定义

介绍两种方法第一种,简单的增加UITableViewCell一些小功能,例如在cell上面添加一个UILabel。直接在UITableViewCell的生成方法中实现,代码如下- (UITableViewCell *)tableView:(UITableView *)tableViewcellForRowAtIndexPath:(NSIndexPath

2015-05-26 17:40:03 259

原创 iOS沙盒机制

iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。 1.1、每个应用程序都有自己的存储空间 1.2、应用程序不能翻过自己的围墙去访问别的存储空间的内容 1.3、应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行。

2015-05-26 13:57:29 199

原创 关于公文签名的实现逻辑

Quartz 2D pdf转图片,图片加水印功能,输出pdf文件!慢慢写!

2015-05-25 20:41:46 340

原创 解压缩工具-SSZipArchive

SSZipArchive是开源的实现压缩和解压缩的第三方类库。此方案最简单快捷。下载地址:https://github.com/soffes/ssziparchiveSSZipArchive功能:解压zip文件解压密码保护的zip文件创建zip文件追加到zip文件压缩文件使用一个名字来压缩NSData  在使用前,我们需要做两步操作:1.把SSZipArchiv

2015-05-18 14:16:01 377

原创 设计方法-迪米特法则

定义:迪米特法则(Law of Demeter,LoD)也称为最少知识原则(Least Knowledge Principle,LKP)。一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需要耦合或调用的类知道得最少,你(被耦合或调用的类)的内部是如何复杂都和我没关系,那是你的事情,我就知道你提供的public方法,我就调用这么多,其他的一概不关心。迪米

2015-05-17 14:07:29 636

转载 OC规范-摘自COcoaChina

概要Objective-C 是一门面向对象的动态编程语言,主要用于编写 iOS 和 Mac 应用程序。关于 Objective-C 的编码规范,苹果和谷歌都已经有很好的总结:Apple Coding Guidelines for CocoaGoogle Objective-C Style Guide本文主要整合了对上述文档的翻译、作者自己的编程经验和

2015-05-12 15:04:57 479

原创 细枝末节的东西

更新app的显示名称开发者们经常遇到的一个就是,创建的工程显示的名字不是自己想要的。我经常看到有些人重新命名和重构(refactor)整个工程,来显示正确的名称。如果你知道在工程的info.plist里添加一个key就能改变app显示名称了,那你肯定很高兴。这个key就是Bundle display name。                                 ---

2015-05-12 14:15:39 312

原创 数据存储

在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题。将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好。下面介绍一下数据保存的方式:1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法。前一个方法告

2015-04-27 09:32:42 203

转载 UIImage图片处理 — 截图(capture), 缩放(scale), 设定大小(resize), 存储(save)

图片的处理大概分 截图(capture),  缩放(scale), 设定大小(resize),  存储(save)1.等比率缩放- (UIImage *)scaleImage:(UIImage *)image toScale:(float)scaleSize{UIGraphicsBeginImageContext(CGSizeMake(image.size.

2015-04-22 16:26:57 570

原创 关于ARC机制

C是什么ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能。简单地理解ARC,就是通过指定的语法,

2015-04-07 18:29:17 303

原创 NSArray的用法

NSArray只允许装OC对象,并且不能装空值,空代表数组元素的结束//创建一个空数组NSArray *array = [NSArray array];//创建有一个元素的数组array = [NSArray arrayWithObject:@"123"];//创建有 多个元素的数组array = [NSArray arrayWIthObjects:@"a",@"b",

2015-04-06 12:49:52 237

原创 关于指针

int *p;p=&i;&i的意思是返回i变量的地址,整句的意思就是把i的地址赋值给p,也就是p存储的东西是i的地址。printf(“%d”,*p);*p怎么读? p存储的地址所指的地址的内容。等价于i;指针的指针

2015-04-01 20:55:58 192

原创 Foundation常用的类和结构体

复习struct 结构体的定义1struct Date {int  year;int month;int  day;};struct Date d = {2013,4,5};或者  d.day=6;来给赋值2struct Date {int  year;int month;int  day;} MyDate;MyDate d = {201

2015-03-30 20:01:42 206

原创 block代码段

block类似于方法。定义一个blockint (^Sum)(int,int)=^(int a,int b){return a+b;};调用代blockint a = Sum(10,11);现在a的值就是10+11的值21.注意事项:待续。。。

2015-03-26 20:51:32 185

原创 Protocol and Delegate 协议和代理(设计模式之代理模式)

delegate 和 protocol 是OC语法的一部分,protocol(协议)我的理解就是定义这么一个东西。以后就按这里的规定来办事。delegate(委托)  就是把事情委托给别人去办。 @required 就是必须去办的。@optional则是可做或不做。1.protocol(协议)首先我定义一个叫GoodChild的协议代码// GoodChild.h#

2015-03-26 16:17:40 399

原创 @Category

Objective-C提供了一个非常灵活的类(Class)扩展机制-类别(Category)。类别用于对一个已经存在的类添加方法(Methods)。你只需要知道这个类的公开接口,不需要知道类的源代码。需要注意的是,类别不能为已存在的类添加实例变量(Instance Variables)。类别的基本语法如下:@interface ClassName(CategoryName)

2015-03-26 15:31:39 402

原创 关于自动释放池outorelease pool

如果一个对象的生命周期显而易见,很容易就知道什么时候该new一个对象,什么时候不再需要使用,这种情况下,直接用手动的retain和release来判定其生死足矣。但是有些时候,在实际开发过程中想知道某个对象在什么时候不再使用并不那么容易。这个池(pool)类似数据结构中的堆栈(Stack),相当于一个容器,每次对象发送autorelease消息,对象的引用计数并不 真正变化 , 而是向po

2015-03-26 10:59:12 433

原创 @property的属性

声明property的语法为:@property (参数,参数,...) 类型 名字;这里的参数主要分为三类:读写属性(readwrite/readonly)setter语意(assign/retain/copy)原子性(atomic/nonatomic)如果是基本数据类型,我们可以省略不写这些属性。1.读写属性@property (readwrit

2015-03-26 10:03:12 225

原创 #import和@class关键字

#import方式会包含被引用类的所有信息,包括被引用类的变量和方法;@class方式只是告诉编译器在A.h文件中 B *b 只是类的声明,具体这个类里有什么信息,这里不需要知道,等实现文件中真正要用到时,才会真正去查看B类中信息;也就是说@class一般只用在.h文件里。@class是放在interface中的,只是在引用一个类,将这个被引用类作为一个类型,在实现文件中,如果需要引用到被

2015-03-26 10:01:38 189

原创 规范开发习惯

#pragm mark - 方法名 这样可以给方法分类标记#pragm mark 方法名 这样可以给方法标记,便于查找

2015-03-25 19:38:15 204

原创 OC内存管理1

范围:任何继承NSObject的对象,对其他的基本数据类型无效。每个OC对象都有自己的引用计数器,是一个整数表示对象被引用的次数,即现在有多少东西在使用这个对象。对象刚被创建时,默认计数器值为1,当计数器的值变为0时,则对象销毁。对对象操作有三种方法,retain,release,retainCount。Retain消息:使计数器+1Releas

2015-03-25 18:46:37 257

原创 关键字@property和@synthesize

这两个关键字的作用是编译器的特性,让Xcode可以自动生成getter和setter凡方法的声明和实现。@property 关键字可以自动生成某个成员变量的setter和getter方法的声明@property int age;编译时遇到这一行,则自动扩展成下面两句:- (void)setAge:(int)age;- (int)age;@synthesize关键字帮助生

2015-03-25 17:49:00 271

原创 点语法

OC中关于点语法特别容易混淆,特此笔记一下,提醒自己。这是我自己定义的一个Person类的头文件 1 #import 2 3 @interface Person : NSObject 4 { 5 int _age;//默认为@protected 6 } 7 8 - (void)setAge:(int)age; 9 - (int)age;10 11 @e

2015-03-24 16:03:49 248

原创 数组

地址:    int a=22;    printf("a的地址是: %d\n",&a);打印出来的就是a的地址。 //定义一维数组定义: 类型 数组名【行数】    int ages[5];    int ages['b'];    int ages[3*4];    int ages[]={1,22};

2015-03-21 19:00:55 180

原创 第一个c语言程序分析

源代码经过编译生成目标代码经过链接(导入c语言函数库)生成机器代码才能运行将.c生成.obj文件的过程叫编译 将相关obj文件和函数库组合在一起的过程叫链接#include #include的作用纯粹是copy系统自带的文件用.h称为头文件,用来声明一些常用函数,假如要使用这些函数,就必须包含这个头文件函数函数方法调用是讲究顺序的,前面的

2015-03-21 16:18:51 229

空空如也

空空如也

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

TA关注的人

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