- 博客(56)
- 收藏
- 关注
原创 AppDelegate中几个常用的回调调用时机
本篇文章主要介绍一些UIApplicationDelegate中几个常用的回调方法的调用时机以帮助你判断哪些方法倒底放到哪个回调中去实现。1. – (void)applicationDidFinishLaunching:(UIApplication *)application;此方法基本已经弃用,改用第2个方法代替。2. – (BOOL)applicat
2016-05-22 10:22:52
315
原创 GCD创建单例
单例是一种类,该类只能在第一次用的时候实例化一个对象,后期直接调用此对象(有点共享的意思)。在Foundation框架中比如NSFileManger和NSNotificationCenter,分别通过它们的类方法defaultManager和defaultCenter获取。尽管不是严格意义的单例,这些类方法返回一个可以在应用的所有代码中访问到的类的共享实例。使用Objective-C实现单例模
2016-05-21 10:45:31
379
原创 Cocoa pods的安装和使用
原理CocoaPods的原理,它是将所有的依赖库都放到另一个名为Pods项目中,然后 让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中1、Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a 文件即可。 2、对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本, 该脚本在每次项目编
2016-05-06 15:47:21
693
转载 ios8新特性 push kit
转自:http://blog.youkuaiyun.com/openglnewbee/article/details/44807191Question:pushkit是什么?Answer:ios8苹果新引入了名为pushkit的框架和一种新的push通知类型,被称作voip push.该push方式旨在提供区别于普通apns push的能力,通过这种push方式可以使app执行制定
2016-04-24 10:58:36
697
原创 VFL-自动布局
VFL全称是Visual Format Language,翻译成中文是“可视化格式语言”,VFL是苹果公司为了简化Autolayout的编码而推出的抽象语言VFL的使用:+ (NSArray *)constraintsWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)opts metrics:(NSDi
2016-03-30 11:30:48
1188
原创 如何判断用户输入的是否为合理手机号
首先需要输入数字时限制其弹出的键盘必定为数字键盘TextField.keyboardType = UIKeyboardTypePhonePad其次判断输入的长度,如果用户输入的长度大于11位时只截取前11位if (TextField.text.length >=11) { TextField.text = [TextFiel
2016-03-26 13:42:56
2123
原创 App启动时广告的实现
1> 添加一个控制器,让窗口刚开始展示出来的是一个控制器 1.1 广告界面是固定的,所以可以用Xib描述(为Xib添加imageView,添加按钮) 注:imageview默认是不可以和用户交互的,所以要设置其userInteractionEnabled属性 self.advertisementView.userInteract
2016-03-08 17:19:47
1646
原创 iOS应用与HTTP服务器进行HTTP通信时会用到的API
在使用URL加载系统时,有3个主要的方法啊可以执行HTTP请求和接受响应:同步 --启动线程的代码会阻塞,直到整个响应加载完毕并返回到调用方法为止,该技术容易实现,不过局限性也大。队列式异步--起始代码创建一个请求,并将其放到一个队列中以在后台线程中执行。该技术的实现稍微有些难度,不过却消除了纯同步式技术的诸多限制。异步--起始代码开启一个请求,该请求运行在起始线程中,不过在请求处理时
2016-02-28 20:40:02
1033
原创 请求内容
HTTP请求包含三个部分:请求行,请求头与请求体。请求行与请求头是文本行,通过回车/换行符分隔(值为13字节,或是0x0D/值为10 字节,或是0x0A),在HTTP请求中使用这样的文本值,使得他们容易构建,解析和调试。空行(仅包含回车/换行符或者是仅有换行符)将请求头与请求体划分开来。下述代码段包含一个HTTP请求示例,它来自于一个查询请求: GET /
2016-02-17 11:29:37
403
原创 URL结构
从ios开发者角度来看,WorldWideWeb项目的另一项重要发明就是URL。URL为Interentnet上的任何资源与内容提供了全局唯一的位置名。最为原则,单个资源可以通过多个URL定位,但单个URL不能引用不同的资源。该规则存在例外情况,比如主机名可以指向一台模糊的主机。在IOS的URL加载系统中,NSURL对象用于管理URL对象。 协议
2016-02-13 10:59:10
463
转载 UIImagePickerController
转载自 http://blog.youkuaiyun.com/kingsley_cxz/article/details/91570931.UIImagePickerController的静态方法: imagepicker = [[UIImagePickerController alloc]init]; //UIImagePickerController静态
2016-01-22 17:07:40
224
原创 CPU 资源消耗原因和解决方案
1>对象创建 对象的创建会分配内存、调整属性、甚至还有读取文件等操作,比较消耗 CPU 资源。尽量用轻量的对象代替重量的对象,可以对性能有所优化。比如 CALayer 比 UIView 要轻量许多,那么不需要响应触摸事件的控件,用 CALayer 显示会更加合适。如果对象不涉及 UI 操作,则尽量放到后台线程去创建,但可惜的是包含有 CALayer 的控件,都只能在主线程创建和
2016-01-22 15:52:39
1944
原创 自动布局之autoresizingMask
iOS有两大自动布局利器:autoresizing 和 autolayout(autolayout是IOS6以后新增)autoresizing是UIView的属性,一直存在,使用也比较简单,但是没有autolayout那样强大。如果你的界面比较简单,要求的细节没有那么高,那么你完全可以使用autoresizing去进行自动布局UIViewAutoresizing是一个枚举类型,默认
2016-01-20 19:37:02
377
原创 IOS多线程操作之一次性代码
GCD中有个函数能够保证某段代码在程序运行过程中只被执行1次!该函数如下:staticdispatch_once_t onceToken; dispatch_once(&onceToken, ^{ })dispatch_once_t在头文件中得定义如下:typedef long dispatch_once_t;
2016-01-12 15:50:58
1151
原创 userInteractionEnabled
userInteractionEnabled userInteractionEnabled是UIView的一个属性,如属性本身的名称所释,该属性决定UIView是否接受并响应用户的交互 当值设置为NO后,UIView会忽略那些原本应该发生在其自身的诸如touch和keyboard等用户事件,并将这些事件从消息队列中移除出去。当值设置为YES后,这些用户事件会正常的派发至UIVi
2015-12-25 22:17:42
799
转载 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
776
原创 NSUserDefaults简单的数据存储
NSUserDefaults简介 NSUserDefaults是一个单例,在整个程序中只有一个实例对象,他可以用于数据的永久保存,而且简单实用,NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密码,网址等,NSUserDefaults肯定是首选 NSUserDefaults可以存储下列类型的数据:NSNumber(NSInteger
2015-12-20 20:46:35
436
原创 Quartz2D
Quartz2D能做什么:绘制图形 : 线条\三角形\矩形\圆\弧等绘制文字绘制\生成图片(图像)读取\生成PDF截图\裁剪图片自定义UI控件(有些UI界面极其复杂、而且比较个性化,用普通的UI控件无法实现,这时可以利用Quartz2D技术将控件内部的结构画出来,自定义控件的样子,iOS中大部分控件的内容都是通过Quartz2D画出来的)Quar
2015-12-16 22:02:17
362
原创 将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
318
原创 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
308
原创 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
565
原创 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
5082
原创 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
352
原创 交换button中图片和按钮的位置
自定义button中有两个方法:- (CGRect)titleRectForContentRect:(CGRect)contentRect{ //控制button中label的frame}- (CGRect)imageRectForContentRect:(CGRect)contentRect{ /
2015-12-07 21:14:09
653
原创 获取动态文字尺寸的方法
-(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
263
原创 子控制隐藏tabBar的设置
在自定义导航栏控制器中,push到的新控制器界面隐藏tabBar在控制少的情况下可以使用如下方法如果控制器多的情况下一个一个去设置 Hide Bottom Bar on Push 是很烦的操作,最方便的就是拦截控制器的push方法,重写push方法
2015-12-06 21:13:30
265
原创 按钮实现刚点击就切换状态(即UIControlEventTouchDown)
按钮在点击操作时,按钮自身会调用-(void)setHighlighted:(BOOL)highlighted 方法设置为highlighted/*@property(nonatomic,getter=isHighlighted)BOOL highlighted; // default is NO. thi
2015-12-05 18:43:12
919
原创 多控制器UINavigationController
UINavigationController的使用步骤:1 初始化UINavigationController2 设置UIWindow的rootViewController为UINavigationController3 根据具体情况,通过push方法添加对应个数的子控制器UINavigationController以栈的形式保存子控制器@property(nona
2015-11-30 17:17:02
220
原创 UIWindow
UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindowiOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow也就说,没有UIWindow,就看不见任何UI界面
2015-11-23 23:18:31
236
原创 UIApplication
UIApplication对象是应用程序的象征每一个应用都有自己的UIApplication对象,而且是单例的通过[UIApplicationsharedApplication]可以获得这个单例对象一个iOS程序启动后创建的第一个对象就是UIApplication对象利用UIApplication对象,能进行一些应用级别的操作设置应用程序图标右上角的红色提醒数字
2015-11-19 23:21:48
252
原创 项目中常见的文件
建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除在旧版本Xcode创建的工程中,这个配置文件的名字就叫“Info.plist”项目中其他Plist文件不能带有“Info”这个字眼,不然会被错认为是传说中非常重要的“Info.plist”项目中还有一个InfoPlis
2015-11-19 19:36:40
360
原创 UIPickerView
1.UIPickerView的常见属性// 数据源(用来告诉UIPickerView有多少列多少行)@property(nonatomic,assign)id dataSource;// 代理(用来告诉UIPickerView每1列的每1行显示什么内容,监听UIPickerView的选择)@property(nonatomic,assign)id del
2015-11-05 18:54:51
208
原创 有价值的参考网页和博客
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
376
转载 各数据类型转换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
283
原创 用户界面
1 视图属性 检查器顶部显示的是这个类的属性,之后则是它继承自类的属性 1) Mode 内容在视图内部的显示方式 Scale To Fill 2) Tag 标记 3) Interaction User Interaction Enabled 是否能够响应
2015-10-13 17:07:42
264
原创 基本交互
1 MVC 介绍 Model 保存应用程序数据的类(模型) View 包括窗口、空间和其他一些用户可以看到的能与之交互的元素(界面) Controller 把模型和视图绑在一起的代码(控制器)2 创建项目 1) 视图控制器类 UIViewController 2) 输出口 (outlet)
2015-10-13 17:05:52
221
原创 UIView简介
http://blog.youkuaiyun.com/likendsl/article/details/7629517view的生命周期
2015-10-13 16:56:24
199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人