自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AppDelegate中几个常用的回调调用时机

本篇文章主要介绍一些UIApplicationDelegate中几个常用的回调方法的调用时机以帮助你判断哪些方法倒底放到哪个回调中去实现。1. – (void)applicationDidFinishLaunching:(UIApplication *)application;此方法基本已经弃用,改用第2个方法代替。2. – (BOOL)applicat

2016-05-22 10:22:52 280

原创 GCD创建单例

单例是一种类,该类只能在第一次用的时候实例化一个对象,后期直接调用此对象(有点共享的意思)。在Foundation框架中比如NSFileManger和NSNotificationCenter,分别通过它们的类方法defaultManager和defaultCenter获取。尽管不是严格意义的单例,这些类方法返回一个可以在应用的所有代码中访问到的类的共享实例。使用Objective-C实现单例模

2016-05-21 10:45:31 330

原创 Cocoa pods的安装和使用

原理CocoaPods的原理,它是将所有的依赖库都放到另一个名为Pods项目中,然后 让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中1、Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a 文件即可。 2、对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本, 该脚本在每次项目编

2016-05-06 15:47:21 636

转载 ios8新特性 push kit

转自:http://blog.csdn.net/openglnewbee/article/details/44807191Question:pushkit是什么?Answer:ios8苹果新引入了名为pushkit的框架和一种新的push通知类型,被称作voip push.该push方式旨在提供区别于普通apns push的能力,通过这种push方式可以使app执行制定

2016-04-24 10:58:36 645

原创 VFL-自动布局

VFL全称是Visual Format Language,翻译成中文是“可视化格式语言”,VFL是苹果公司为了简化Autolayout的编码而推出的抽象语言VFL的使用:+ (NSArray *)constraintsWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)opts metrics:(NSDi

2016-03-30 11:30:48 1062

原创 如何判断用户输入的是否为合理手机号

首先需要输入数字时限制其弹出的键盘必定为数字键盘TextField.keyboardType = UIKeyboardTypePhonePad其次判断输入的长度,如果用户输入的长度大于11位时只截取前11位if (TextField.text.length >=11) {            TextField.text = [TextFiel

2016-03-26 13:42:56 2071

原创 App启动时广告的实现

1> 添加一个控制器,让窗口刚开始展示出来的是一个控制器    1.1  广告界面是固定的,所以可以用Xib描述(为Xib添加imageView,添加按钮)        注:imageview默认是不可以和用户交互的,所以要设置其userInteractionEnabled属性               self.advertisementView.userInteract

2016-03-08 17:19:47 1532

原创 iOS应用与HTTP服务器进行HTTP通信时会用到的API

在使用URL加载系统时,有3个主要的方法啊可以执行HTTP请求和接受响应:同步 --启动线程的代码会阻塞,直到整个响应加载完毕并返回到调用方法为止,该技术容易实现,不过局限性也大。队列式异步--起始代码创建一个请求,并将其放到一个队列中以在后台线程中执行。该技术的实现稍微有些难度,不过却消除了纯同步式技术的诸多限制。异步--起始代码开启一个请求,该请求运行在起始线程中,不过在请求处理时

2016-02-28 20:40:02 991

原创 请求内容

HTTP请求包含三个部分:请求行,请求头与请求体。请求行与请求头是文本行,通过回车/换行符分隔(值为13字节,或是0x0D/值为10 字节,或是0x0A),在HTTP请求中使用这样的文本值,使得他们容易构建,解析和调试。空行(仅包含回车/换行符或者是仅有换行符)将请求头与请求体划分开来。下述代码段包含一个HTTP请求示例,它来自于一个查询请求:        GET /

2016-02-17 11:29:37 355

原创 URL结构

从ios开发者角度来看,WorldWideWeb项目的另一项重要发明就是URL。URL为Interentnet上的任何资源与内容提供了全局唯一的位置名。最为原则,单个资源可以通过多个URL定位,但单个URL不能引用不同的资源。该规则存在例外情况,比如主机名可以指向一台模糊的主机。在IOS的URL加载系统中,NSURL对象用于管理URL对象。       协议

2016-02-13 10:59:10 416

转载 UIImagePickerController

转载自    http://blog.csdn.net/kingsley_cxz/article/details/91570931.UIImagePickerController的静态方法:    imagepicker = [[UIImagePickerController alloc]init];    //UIImagePickerController静态

2016-01-22 17:07:40 196

原创 CPU 资源消耗原因和解决方案

1>对象创建       对象的创建会分配内存、调整属性、甚至还有读取文件等操作,比较消耗 CPU 资源。尽量用轻量的对象代替重量的对象,可以对性能有所优化。比如 CALayer 比 UIView 要轻量许多,那么不需要响应触摸事件的控件,用 CALayer 显示会更加合适。如果对象不涉及 UI 操作,则尽量放到后台线程去创建,但可惜的是包含有 CALayer 的控件,都只能在主线程创建和

2016-01-22 15:52:39 1817

原创 自动布局之autoresizingMask

iOS有两大自动布局利器:autoresizing 和 autolayout(autolayout是IOS6以后新增)autoresizing是UIView的属性,一直存在,使用也比较简单,但是没有autolayout那样强大。如果你的界面比较简单,要求的细节没有那么高,那么你完全可以使用autoresizing去进行自动布局UIViewAutoresizing是一个枚举类型,默认

2016-01-20 19:37:02 341

原创 IOS多线程操作之一次性代码

GCD中有个函数能够保证某段代码在程序运行过程中只被执行1次!该函数如下:staticdispatch_once_t onceToken;    dispatch_once(&onceToken, ^{            })dispatch_once_t在头文件中得定义如下:typedef long dispatch_once_t;

2016-01-12 15:50:58 1058

原创 userInteractionEnabled

userInteractionEnabled   userInteractionEnabled是UIView的一个属性,如属性本身的名称所释,该属性决定UIView是否接受并响应用户的交互   当值设置为NO后,UIView会忽略那些原本应该发生在其自身的诸如touch和keyboard等用户事件,并将这些事件从消息队列中移除出去。当值设置为YES后,这些用户事件会正常的派发至UIVi

2015-12-25 22:17:42 626

转载 Xcode升级后,遇到的告警和解决方法

1,警告:"xxxxx" is deprecated 解决办法:查看"xxxxx"这个方法的文档,替换掉此方法即可2,警告:Declaration of "struct sockaddr" will not be visible outside of this function解决办法:在你的开源.m文件中添加 #import 3,警告:Implicit con

2015-12-23 19:26:52 693

原创 NSUserDefaults简单的数据存储

NSUserDefaults简介 NSUserDefaults是一个单例,在整个程序中只有一个实例对象,他可以用于数据的永久保存,而且简单实用,NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密码,网址等,NSUserDefaults肯定是首选 NSUserDefaults可以存储下列类型的数据:NSNumber(NSInteger

2015-12-20 20:46:35 404

原创 Quartz2D

Quartz2D能做什么:绘制图形 : 线条\三角形\矩形\圆\弧等绘制文字绘制\生成图片(图像)读取\生成PDF截图\裁剪图片自定义UI控件(有些UI界面极其复杂、而且比较个性化,用普通的UI控件无法实现,这时可以利用Quartz2D技术将控件内部的结构画出来,自定义控件的样子,iOS中大部分控件的内容都是通过Quartz2D画出来的)Quar

2015-12-16 22:02:17 335

原创 将JSON转化为NSArray或者NSDictionary

1    获得JSON文件的路径(以project.json文件为例)        NSString *path=[[NSBundlemainBundle]pathForResource:@"project"ofType:@"json"];2  加载JSON文件                NSData *data=[NSDatadataWithCont

2015-12-12 10:30:39 271

原创 CUICatalog: Invalid asset name supplied: (null), or invalid scale factor:2.000000

CUICatalog: Invalid asset name supplied: (null), or invalid scale factor:2.000000原因为加载图片的时候imageView不存在    [UIImageimageNamed:nil];上述情况就会出错,或者imageNamed:   后面的文件名乱写,在某些空间的设置中如果不需要ima

2015-12-10 15:44:01 270

原创 this class is not key value coding-compliant for the key id

[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key id.原因为在进行kvc操作是  字典中的key不存在对应模型属性@interface ProductModel : NSObject@property(nonatomic,copy)NSStrin

2015-12-10 02:06:05 514

原创 UICollectionView must be initialized with a non-nil layout parameter

UICollectionView must be initialized with a non-nil layout parameterUICollectonView必须传入不为空的layout参数来初始化解决方法:重写init方法-(id)init{    UICollectionViewFlowLayout *layout=[[UICollectionViewFlo

2015-12-10 00:20:38 5038

原创 Xcode选择性编译

首先包含头文件#import 在文件中定义了很多宏#define __IPHONE_6_0     60000#define __IPHONE_6_1     60100#define __IPHONE_7_0     70000#define __IPHONE_7_1     70100#define __IPHONE_8_0

2015-12-08 02:08:20 318

原创 交换button中图片和按钮的位置

自定义button中有两个方法:- (CGRect)titleRectForContentRect:(CGRect)contentRect{             //控制button中label的frame}- (CGRect)imageRectForContentRect:(CGRect)contentRect{             /

2015-12-07 21:14:09 618

原创 获取动态文字尺寸的方法

-(CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxSize:(CGSize)maxSize{    NSDictionary *attrs=@{NSFontAttributeName:font};    return [textboundingRectWithSize:maxSize options:NS

2015-12-07 20:01:21 228

原创 子控制隐藏tabBar的设置

在自定义导航栏控制器中,push到的新控制器界面隐藏tabBar在控制少的情况下可以使用如下方法如果控制器多的情况下一个一个去设置 Hide Bottom Bar on Push 是很烦的操作,最方便的就是拦截控制器的push方法,重写push方法

2015-12-06 21:13:30 223

原创 按钮实现刚点击就切换状态(即UIControlEventTouchDown)

按钮在点击操作时,按钮自身会调用-(void)setHighlighted:(BOOL)highlighted 方法设置为highlighted/*@property(nonatomic,getter=isHighlighted)BOOL highlighted;                         // default is NO. thi

2015-12-05 18:43:12 883

原创 Xcode安装VVDocumenter文档注释插件

VVDocumenter 在Xcode上的便捷安装

2015-12-02 21:58:35 268

原创 多控制器UINavigationController

UINavigationController的使用步骤:1 初始化UINavigationController2 设置UIWindow的rootViewController为UINavigationController3 根据具体情况,通过push方法添加对应个数的子控制器UINavigationController以栈的形式保存子控制器@property(nona

2015-11-30 17:17:02 190

原创 控制器的view的创建

-(void)loadView  方法用来创建自定义View只要用到View并且View为空的时候就会调用loadView

2015-11-27 21:57:49 202

原创 UIWindow

UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindowiOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow也就说,没有UIWindow,就看不见任何UI界面

2015-11-23 23:18:31 213

原创 UIApplication

UIApplication对象是应用程序的象征每一个应用都有自己的UIApplication对象,而且是单例的通过[UIApplicationsharedApplication]可以获得这个单例对象一个iOS程序启动后创建的第一个对象就是UIApplication对象利用UIApplication对象,能进行一些应用级别的操作设置应用程序图标右上角的红色提醒数字

2015-11-19 23:21:48 222

原创 项目中常见的文件

建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除在旧版本Xcode创建的工程中,这个配置文件的名字就叫“Info.plist”项目中其他Plist文件不能带有“Info”这个字眼,不然会被错认为是传说中非常重要的“Info.plist”项目中还有一个InfoPlis

2015-11-19 19:36:40 327

原创 UIPickerView

1.UIPickerView的常见属性// 数据源(用来告诉UIPickerView有多少列多少行)@property(nonatomic,assign)id dataSource;// 代理(用来告诉UIPickerView每1列的每1行显示什么内容,监听UIPickerView的选择)@property(nonatomic,assign)id   del

2015-11-05 18:54:51 178

原创 有价值的参考网页和博客

http://www.oschina.net/news/42288/10-objective-c-interviewhttp://code4app.com/article/cocoapods-install-usagehttps://ruby.taobao.orghttp://www.ityran.com/tutorials http

2015-10-13 17:41:44 348

转载 各数据类型转换NSData转NSString,Byte,UIImage

1,NSData 与 NSString  NSData --> NSString  NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding];  NSString --> NSData  NSString *aString = @"1234";  NSData

2015-10-13 17:35:00 252

原创 ARC和非ARC的编译标志

-fobjc-ar-fno-objc-arc

2015-10-13 17:33:10 553

原创 用户界面

1 视图属性     检查器顶部显示的是这个类的属性,之后则是它继承自类的属性     1) Mode           内容在视图内部的显示方式 Scale To Fill     2) Tag          标记     3) Interaction          User Interaction Enabled  是否能够响应       

2015-10-13 17:07:42 231

原创 基本交互

1 MVC 介绍     Model       保存应用程序数据的类(模型)     View         包括窗口、空间和其他一些用户可以看到的能与之交互的元素(界面)     Controller 把模型和视图绑在一起的代码(控制器)2 创建项目     1) 视图控制器类 UIViewController     2) 输出口 (outlet)

2015-10-13 17:05:52 191

原创 UIView简介

http://blog.csdn.net/likendsl/article/details/7629517view的生命周期

2015-10-13 16:56:24 174

空空如也

空空如也

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

TA关注的人

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