摘要:
两个博客一起用,大家多多关注啊 阅读全文
posted @ 2015-08-31 21:25
Ray_hok
阅读(120)
评论(0)
推荐(0)
摘要:
1、AsyncSocket介绍如果需要在项目中像QQ微信一样做到即时通讯,必须使用socket通讯。iOS中Socket编程的方式:BSD Socket:BSD Socket 是UNIX系统中通用的网络接口,它不仅支持各种不同的网络类型,而且也是一种内部进程之间的通信机制。而iOS系统其实本质就是U... 阅读全文
posted @ 2015-08-31 20:48
Ray_hok
阅读(4760)
评论(0)
推荐(0)
摘要:
比如:NSMutableDictionary *dic = [[NUMutableDictionary alloc]init];[dic setValue:@”haha” forKey:@”test”][NSTimer scheduledTimerWithTimeIntervatal:2.0 tar... 阅读全文
posted @ 2015-08-31 20:47
Ray_hok
阅读(1122)
评论(0)
推荐(0)
摘要:
1、概述在以前的iOS程序中,是如何设置布局UI界面的?(1)经常编写大量的坐标计算代码(2)为了保证在3.5 inch和4.0 inch屏幕上都能有完美的UI界面效果,有时还需要分别为2种屏幕编写不同的坐标计算代码(即传说中的“屏幕适配”)什么是Autolayout?(1)Autolayout是一... 阅读全文
posted @ 2015-08-31 20:46
Ray_hok
阅读(171)
评论(0)
推荐(0)
摘要:
1、概述什么是UIDynamic?UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架。可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象。比如:重力、弹性碰撞等现象。物理引擎的价值:(1)广泛用于游戏开发,经典成功案例是“愤怒的小鸟”(2)让开发人员可以在远离物理学公式... 阅读全文
posted @ 2015-08-31 20:42
Ray_hok
阅读(199)
评论(0)
推荐(0)
摘要:
1、概述MapKit框架使用前提:导入框架:导入主头文件:#import MapKit框架使用须知:MapKit框架中所有数据类型的前缀都是MK。MapKit有一个比较重要的UI控件 :MKMapView,专门用于地图显示。2、跟踪显示用户的位置设置MKMapView的userTrackingMod... 阅读全文
posted @ 2015-08-31 20:41
Ray_hok
阅读(239)
评论(0)
推荐(0)
摘要:
1、概述在iOS开发中,要想加入地图和定位功能这2大功能,必须基于2个框架进行开发(1)Map Kit :用于地图展示(2)Core Location :用于地理定位2个热门专业术语:LBS :Location Based ServiceSoLoMo :Social Local Mobile(索罗门... 阅读全文
posted @ 2015-08-31 20:38
Ray_hok
阅读(4447)
评论(0)
推荐(0)
摘要:
如果,我们有两个控制器,第一个控制器是MainController,它是与Main.storyboard相关联的。第二个控制器是myController。假设myController中有一个退出按钮,点击退出按钮从myController返回到MainController,特别注意的是,下面写法是错... 阅读全文
posted @ 2015-08-31 20:36
Ray_hok
阅读(264)
评论(0)
推荐(0)
摘要:
/*** 当屏幕即将旋转的时候调用** @param toInterfaceOrientation 旋转完毕后的最终方向* @param duration 旋转动画所花费的时间*/- (void)willRotateToInterfaceOrientation:(UIInterfaceOrienta... 阅读全文
posted @ 2015-08-31 20:35
Ray_hok
阅读(2265)
评论(0)
推荐(0)
摘要:
CAKeyframeAnimation *shakeAnim = [CAKeyframeAnimation animation];shakeAnim.keyPath = @"transform.translation.x";shakeAnim.duration = 0.15;CGFloat delt... 阅读全文
posted @ 2015-08-31 20:34
Ray_hok
阅读(736)
评论(0)
推荐(0)
摘要:
1、概述是iPad开发中常见的一种控制器(在iPhone上不允许使用),跟其他控制器不一样的是,它直接继承自NSObject,并非继承自UIViewController,它只占用部分屏幕空间来呈现信息,而且显示在屏幕的最前面。2、使用步骤要想显示一个UIPopoverController,需要经过下... 阅读全文
posted @ 2015-08-31 20:33
Ray_hok
阅读(159)
评论(0)
推荐(0)
摘要:
方法一(此方法不太可靠):开启程序后台运行:[application beginBackgroundTaskWithExpirationHandler:^{//后台运行过期后会调用此block内代码}];上面在后台开启任务让程序在后台持续保持运行状态,但能保持运行的时间是不确定。比如内存不足的时候系... 阅读全文
posted @ 2015-08-31 20:31
Ray_hok
阅读(234)
评论(0)
推荐(0)
摘要:
NSFileManager *mgr = [NSFileManager defaultManager];NSString *cachePath =[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES... 阅读全文
posted @ 2015-08-31 20:31
Ray_hok
阅读(161)
评论(0)
推荐(0)
摘要:
1、概述n NSURLSession是iOS7中新的网络接口,与NSURLConnection是并列的。n 当程序在前台时,NSURLSession与NSURLConnection大部分可以互相替代n NSURLSession支持后台网络操作,除非用户强行关闭n NSURLSession提供的功能:... 阅读全文
posted @ 2015-08-31 20:30
Ray_hok
阅读(575)
评论(0)
推荐(0)
摘要:
1、HTTP HEAD方法NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:0 timeoutInterval:kTimeout];request.HTTPMethod = @"HEA... 阅读全文
posted @ 2015-08-31 20:29
Ray_hok
阅读(373)
评论(0)
推荐(0)
摘要:
1、如何播放视频iOS提供了MPMoviePlayerController、MPMoviePlayerViewController两个类,可以用来轻松播放视频和网络流媒体\网络音频。提示:网络音频同样使用此控制器播放。YouTobe就是用MPMoviePlayerController实现的。MPMo... 阅读全文
posted @ 2015-08-31 20:28
Ray_hok
阅读(382)
评论(0)
推荐(0)
摘要:
1、使用copy或mutableCopy方法可以创建一个对象的副本。copy:(1)需要实现NSCoppying协议(2)创建的是不可变副本(如NSString、NSArray、NSDictionary)mutableCopy:(1)需要先实现NSMutableCopying协议(2)创建的是可变副... 阅读全文
posted @ 2015-08-31 20:27
Ray_hok
阅读(141)
评论(0)
推荐(0)
摘要:
1、概述JSON(1) 作为一种轻量级的数据交换格式,正在逐步取代XML,成为网络数据的通用格式(2) 基于JavaScript的一个子集(3) 易读性略差,编码手写难度大,数据量小(4) JSON格式取代了XML给网络传输带来了很大的便利,但是却没有了XML的一目了然,尤其是JSON数据很长的时候... 阅读全文
posted @ 2015-08-31 20:25
Ray_hok
阅读(164)
评论(0)
推荐(0)
摘要:
1、NSObject的多线程方法(用的时候要用@autoreleasepool{}包起来)开启后台执行任务的方法:- (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg苹果底层允许使用performSelectorI... 阅读全文
posted @ 2015-08-31 20:24
Ray_hok
阅读(332)
评论(0)
推荐(0)
摘要:
1、概述单例模式是一种常用的软件设计模式,通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望系统中某个类的对象只能存在一个,单例模式是最好的解决方案,iOS中最常见的单例就是UIApplication 。应用场景:音频播放,背景音乐!... 阅读全文
posted @ 2015-08-31 20:23
Ray_hok
阅读(164)
评论(0)
推荐(0)
摘要:
1、概述(1) Run Loop提供了一种异步执行代码的机制,不能并行执行任务。(2) 在主队列中,Main Run Loop直接配合任务的执行,负责处理UI事件、计时器,以及其它内核相关事件。(3) Run Loop的主要目的是保证程序执行的线程不会被系统终止。Run Loop的工作特点:(1) ... 阅读全文
posted @ 2015-08-31 20:22
Ray_hok
阅读(193)
评论(0)
推荐(0)
摘要:
1、简介(1) NSOperationQueue(操作队列)是由GCD提供的队列模型的Cocoa抽象,是一套Objective-C的API,为了使并发(多线程)编程变得更加简单,但效率比GCD略低。在实际开发中NSOperationQueue是首选。(2) GCD提供了更加底层的控制,而操作队列则在... 阅读全文
posted @ 2015-08-31 20:20
Ray_hok
阅读(137)
评论(0)
推荐(0)
摘要:
1、多线程概念进程正在进行中的程序被称为进程,负责程序运行的内存分配。每一个进程都有自己独立的虚拟内存空间。线程线程是进程中一个独立的执行路径(控制单元)一个进程中至少包含一条线程,即主线程可以将耗时的执行路径(如:网络请求)放在其他线程中执行创建线程的目的就是为了开启一条新的执行路径,运行指定的代... 阅读全文
posted @ 2015-08-31 20:18
Ray_hok
阅读(321)
评论(0)
推荐(0)
摘要:
1、定义(1) Block是OC中的一种数据类型,在iOS开发中被广泛使用(2) ^是Block的特有标记(3) Block的实现代码包含在{}之间(4) 大多情况下,以内联inline函数的方式被定义和使用(5) Block与C语言的函数指针有些相似,但使用起来更加灵活例如:void(^demoB... 阅读全文
posted @ 2015-08-31 20:11
Ray_hok
阅读(141)
评论(0)
推荐(0)
摘要:
1、概述Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍,使用它需要先添加QuartzCore.framework和引入对应的框架。特别注意的是核心动画的动画效果只是“假象”,产生动画的那个view实际上并未发生任何变化。开发步骤:第一步... 阅读全文
posted @ 2015-08-31 20:08
Ray_hok
阅读(212)
评论(0)
推荐(0)
摘要:
1、 概述在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView,其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),... 阅读全文
posted @ 2015-08-31 20:06
Ray_hok
阅读(172)
评论(0)
推荐(0)
摘要:
1、iOS中的事件在用户使用app过程中,会产生各种各样的事件,iOS中的事件可以分为3大类型:2、响应者对象在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”,UIApplication、UIViewController、UIVi... 阅读全文
posted @ 2015-08-31 20:03
Ray_hok
阅读(348)
评论(0)
推荐(0)
摘要:
JSON解析步骤:- (NSArray *)products{ if (_products == nil) {//第一步:获取JSON文件的路径:NSString *path = [[NSBundle mainBundle]pathForResource:@"products.json" ofTyp... 阅读全文
posted @ 2015-08-31 19:59
Ray_hok
阅读(146)
评论(0)
推荐(0)
摘要:
1、概述UICollectionView控件主要是用来做九宫格的,类似于android中的GridView控件。其用法与UITableView一样,首先要使控制器遵守数据源协议,再将控制器设置为UICollectionView的数据源。同样,控制器遵守了UICollectionView的代理后也可以... 阅读全文
posted @ 2015-08-31 19:58
Ray_hok
阅读(276)
评论(0)
推荐(0)
摘要:
if([[UIDevice currentDevice].systemVersion doubleValue]>=7.0){ //是IOS7至以上版本}else{ //IOS7以下版本} 阅读全文
posted @ 2015-08-31 19:58
Ray_hok
阅读(318)
评论(0)
推荐(0)
摘要:
1、 Quartz2D概述及作用Quartz2D的API是纯C语言的,Quartz2D的API来自于Core Graphics框架。数据类型和函数基本都以CG作为前缀,比如:CGContextRefCGPathRefCGContextStrokePath(ctx);……Quartz 2D是一个二维绘... 阅读全文
posted @ 2015-08-31 19:57
Ray_hok
阅读(156)
评论(0)
推荐(0)
摘要:
1、概述Core Data框架提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite3数据库文件中,也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间,不需要编写任何SQL语句。使用此功能,要添加CoreData.framework和导入主头文件。2、模型文件... 阅读全文
posted @ 2015-08-31 19:54
Ray_hok
阅读(189)
评论(0)
推荐(0)
摘要:
1、概述SQLite3是一款开源的嵌入式关系型数据库,可移植性好、易使用、内存开销小。SQLite3是无类型的,意味着你可以保存任何类型的数据到任意表的任意字段中。比如下列的创表语句是合法的:create table t_person(name, age);为了保证可读性,建议还是把字段类型加上:c... 阅读全文
posted @ 2015-08-31 19:44
Ray_hok
阅读(461)
评论(0)
推荐(0)
摘要:
1、概述使用archiveRootObject:toFile:方法可以将一个对象直接写入到一个文件中,但有时候可能想将多个对象写入到同一个文件中,那么就要使用NSData来进行归档对象。NSData可以为一些数据提供临时存储空间,以便随后写入文件,或者存放从磁盘读取的文件内容。可以使用[NSMuta... 阅读全文
posted @ 2015-08-31 19:43
Ray_hok
阅读(2593)
评论(0)
推荐(0)
摘要:
1、概述NSKeyedArchiver归档和plist文件存储不同的是NSKeyedArchiver可以直接保存对象。如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,可以直接用NSKeyedArchiver进行归档和恢复。不是所有的对象都可... 阅读全文
posted @ 2015-08-31 19:42
Ray_hok
阅读(657)
评论(0)
推荐(0)
摘要:
1、概述很多iOS应用都支持偏好设置,比如保存用户名、密码、字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能。每个应用都有个NSUserDefaults实例,通过它来存取偏好设置。比如,保存用户名、字体大小、是否自动登录。NSUserDefaults *defaults = [... 阅读全文
posted @ 2015-08-31 19:40
Ray_hok
阅读(301)
评论(0)
推荐(0)
摘要:
1、概述“归档”意思是持久化存储数据。plist文件是一种XML格式的文件,拓展名为plist。如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,就可以使用writeToFile:atomically:方法直接将对象写到属性列表文件(plis... 阅读全文
posted @ 2015-08-31 19:39
Ray_hok
阅读(660)
评论(0)
推荐(0)
摘要:
1、应用沙盒概述每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒。应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer)。模拟器应用沙盒的根路径在: (apple是用户名, 6.0是模拟器版本)/Users/... 阅读全文
posted @ 2015-08-31 19:35
Ray_hok
阅读(251)
评论(0)
推荐(0)
摘要:
Storyboard上每一根用来界面跳转的线,都是一个UIStoryboardSegue对象(简称Segue)。每一个Segue对象,都有3个属性:(1)唯一标识@property (nonatomic, readonly) NSString *identifier;(2)来源控制器@propert... 阅读全文
posted @ 2015-08-31 19:34
Ray_hok
阅读(221)
评论(0)
推荐(0)
摘要:
1、概述跟UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是QQ、微信等应用。2、UITabBarController的简单使用UITabBarController的使用步骤:(1)初始化UITab... 阅读全文
posted @ 2015-08-31 19:29
Ray_hok
阅读(174)
评论(0)
推荐(0)
摘要:
导航栏的内容由栈顶控制器的navigationItem属性决定。UINavigationItem有以下属性影响着导航栏的内容(通常在子控制器中viewDidLoad方法中调用这些方法):左上角的返回按钮:@property(nonatomic,retain) UIBarButtonItem *bac... 阅读全文
posted @ 2015-08-31 19:26
Ray_hok
阅读(146)
评论(0)
推荐(0)
摘要:
1、概述:利用UINavigationController,可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是系统自带的“设置”应用。2、UINavigationController的简单使用UINavigationController的使用步骤:在MJAppDelegate的didF... 阅读全文
posted @ 2015-08-31 19:25
Ray_hok
阅读(128)
评论(0)
推荐(0)
摘要:
1、如何创建一个控制器控制器常见的创建方式有以下几种:(1)通过storyboard创建(2)直接创建MJViewController *mj = [[MJViewController alloc] init];(3)指定xib文件来创建MJViewController *mj = [[MJView... 阅读全文
posted @ 2015-08-31 19:23
Ray_hok
阅读(285)
评论(0)
推荐(0)
摘要:
self.inputField.inputView = myView按文本框弹出的键盘不再是普通文字输入键盘,而是我们设置的myView。一般把这个方法写在viewDiLoad方法中。也可以在键盘上方增加一个View:self. inputField.inputAcessoryView = myVi... 阅读全文
posted @ 2015-08-31 19:20
Ray_hok
阅读(348)
评论(0)
推荐(0)
摘要:
1、概述UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow。iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了。一个iOS程序之所以能显示到... 阅读全文
posted @ 2015-08-31 19:19
Ray_hok
阅读(216)
评论(0)
推荐(0)
摘要:
1、使用方法UIPickerView使用和UITableView大致类似。首先设置ViewController为数据源,然后遵守数据源协议,之后实现协议中的方法:一共有多少列:- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pi... 阅读全文
posted @ 2015-08-31 19:19
Ray_hok
阅读(136)
评论(0)
推荐(0)
摘要:
程序启动的完整过程:(1)main函数(2)UIApplicationMain* 创建UIApplication对象* 创建UIApplication的delegate对象(3)delegate对象开始处理(监听)系统事件(没有storyboard)* 程序启动完毕的时候, 就会调用代理的appli... 阅读全文
posted @ 2015-08-31 19:17
Ray_hok
阅读(148)
评论(0)
推荐(0)
摘要:
1、概述所有的移动操作系统都有个致命的缺点:app很容易受到打扰。比如一个来电或者锁屏会导致app进入后台甚至被终止。还有很多其它类似的情况会导致app受到干扰,在app受到干扰时,会产生一些系统事件,这时UIApplication会通知它的delegate对象,让delegate代理来处理这些系统... 阅读全文
posted @ 2015-08-31 19:16
Ray_hok
阅读(153)
评论(0)
推荐(0)
摘要:
1、概述UIApplication对象是应用程序的象征。每一个应用都有自己的UIApplication对象,而且是单例(只能有一个对象,我们不能去创建新对象,只能获取这个对象)的。通过[UIApplication sharedApplication]可以获得这个单例对象。一个iOS程序启动后创建的第... 阅读全文
posted @ 2015-08-31 19:14
Ray_hok
阅读(162)
评论(0)
推荐(0)
摘要:
建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除在旧版本Xcode创建的工程中,这个配置文件的名字就叫“Info.plist”项目中其他Plist文件不能带有“Info”这个字眼,不然会被错... 阅读全文
posted @ 2015-08-31 19:12
Ray_hok
阅读(713)
评论(0)
推荐(0)
摘要:
项目的Supporting files文件夹下面有个“工程名-Prefix.pch”文件,也是一个头文件pch头文件的内容能被项目中的其他所有源文件共享和访问一般在pch文件中定义一些全局的宏在pch文件中添加下列预处理指令,然后在项目中使用Log(…)来输出日志信息,就可以在发布应用的时候,一次性... 阅读全文
posted @ 2015-08-31 19:12
Ray_hok
阅读(294)
评论(0)
推荐(0)
摘要:
当发生下面两种情况该方法会被调用:(1)一个控件的frame发生改变的时候。(2)布局子控件的时候一般在这里布局内部的子控件(设置子控件的frame)例如:- (void)layoutSubviews{#warning 一定要调用super的方法 [super layoutSubviews]; //... 阅读全文
posted @ 2015-08-31 19:11
Ray_hok
阅读(204)
评论(0)
推荐(0)
摘要:
1、通知中心每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么。其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发... 阅读全文
posted @ 2015-08-31 19:10
Ray_hok
阅读(245)
评论(1)
推荐(0)
摘要:
UIDevice类提供了一个单例对象,它代表着设备,通过它可以获得一些设备相关的信息,比如电池电量值(batteryLevel)、电池状态(batteryState)、设备的类型(model,比如iPod、iPhone等)、设备的系统(systemVersion)UIDevice特点:(1)通过[U... 阅读全文
posted @ 2015-08-31 19:10
Ray_hok
阅读(188)
评论(0)
推荐(0)
摘要:
方法1:performSelector(SEL) withObjects:(id) afterDelay:(NSTimeInterval);方法2:dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * N... 阅读全文
posted @ 2015-08-31 19:08
Ray_hok
阅读(136)
评论(0)
推荐(0)
摘要:
/*** 计算文字尺寸** @param text 需要计算尺寸的文字* @param font 文字的字体* @param maxSize 文字的最大尺寸*/- (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxSize:(C... 阅读全文
posted @ 2015-08-31 19:08
Ray_hok
阅读(213)
评论(0)
推荐(0)
摘要:
系统默认的UITableViewCell的每行都有横线(分隔符),就算没有数据也是如此,有时候我们想只在有数据的地方有下划线,可以去除下划线,然后在awarkFromNid方法中使用addsubview的方法加入下划线到UITableViewCell的contentView中。但有些时候我们还要自定... 阅读全文
posted @ 2015-08-31 19:07
Ray_hok
阅读(348)
评论(0)
推荐(0)
摘要:
1、UITanleview有的两种风格一种是Plain,一种是Grouped,可以从这里设置风格:他们样式分别如下:Plain:Grouped:2、tableView展示数据的过程:(1)首先,控制器要遵守UITableViewDataSource协议@interface ViewControlle... 阅读全文
posted @ 2015-08-31 19:06
Ray_hok
阅读(252)
评论(0)
推荐(0)
摘要:
1、KVC概述KVC(Key-value coding)是一套利用字符串标识符间接访问对象属性和关系的机制。Cocoa Programming中,Core Data,Application Scriptability, 绑定(Binding)技术和声明属性之一语言特性等,都是以KVC为基础的。(Ap... 阅读全文
posted @ 2015-08-31 19:01
Ray_hok
阅读(189)
评论(0)
推荐(0)
摘要:
1、UIScrollView的用法:(1)将需要展示的内容添加到UIScrollView中(2)设置UIScrollView的contentSize属性,告诉UIScrollView所有内容的尺寸,也就是告诉它滚动的范围(能滚多远,滚到哪里是尽头)2、UIScrollView无法滚动的解决办法如果U... 阅读全文
posted @ 2015-08-31 19:00
Ray_hok
阅读(139)
评论(0)
推荐(0)
摘要:
1、NSTimer叫做“定时器”,它的作用如下Ø 在指定的时间执行指定的任务Ø 每隔一段时间执行指定的任务2、调用NSTimer下面的方法就会开启一个定时任务+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:... 阅读全文
posted @ 2015-08-31 19:00
Ray_hok
阅读(113)
评论(0)
推荐(0)
摘要:
相同点:(2)都用来描述软件界面(2)都用Interface Builder工具来编辑不同点:(1)Xib是轻量级的,用来描述局部的UI界面(2)Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系3、使用xib封装一个自定义view的步骤(1)新建一个继承U... 阅读全文
posted @ 2015-08-31 18:58
Ray_hok
阅读(262)
评论(0)
推荐(0)
摘要:
instancetype和id使用方法类似,但他们还有不同点:(1)instancetype在类型表示上,跟id一样,可以表示任何对象类型(2)instancetype只能用在返回值类型上,不能像id一样用在参数类型上(3)instancetype比id多一个好处:编译器会检测instancetyp... 阅读全文
posted @ 2015-08-31 18:57
Ray_hok
阅读(142)
评论(0)
推荐(0)
摘要:
从iOS7开始,状态栏默认情况下归控制器管理,比如状态栏的样式、状态栏的是否可见控制器通过重写以下方法来控制状态栏设置状态栏的样式,只需重写下列方法即可:- (UIStatusBarStyle)preferredStatusBarStyle;例如:- (UIStatusBarStyle)prefer... 阅读全文
posted @ 2015-08-31 18:56
Ray_hok
阅读(143)
评论(0)
推荐(0)
摘要:
一个app在启动过程中会全屏显示叫做Default.png的图片各种规格Default的使用场合:Default.png:非retina-iPhone屏幕,320x480Default@2x.png:retina-iPhone屏幕,640x960Default-568h@2x.png:4inch的r... 阅读全文
posted @ 2015-08-31 18:56
Ray_hok
阅读(196)
评论(0)
推荐(0)
摘要:
@property(nonatomic,copy) NSArray *animationImages; 需要播放的序列帧图片数组(里面都是UIImage对象,会按顺序显示里面的图片)@property(nonatomic) NSTimeInterval animationDuration;帧动画的持... 阅读全文
posted @ 2015-08-31 18:55
Ray_hok
阅读(124)
评论(0)
推荐(0)
摘要:
transform主要应用于动画1、让一个按钮每次向上移动100的距离UIButton *head = (UIButton *)[self.view viewWithTag:10];head.transform = CGAffineTransformTranslate(head.transform,... 阅读全文
posted @ 2015-08-31 18:54
Ray_hok
阅读(202)
评论(0)
推荐(0)
摘要:
1、UIImage的2种加载图片方式(1)有缓存(图片所占用的内存会一直停留在程序中),可能会导致占用大量内存而使程序崩溃,加载少量小图片时候使用。+ (UIImage *)imageNamed:(NSString *)name;name是图片的文件名,png图片不用加后缀名,jpg等其他图片格式要... 阅读全文
posted @ 2015-08-31 18:54
Ray_hok
阅读(130)
评论(0)
推荐(0)
摘要:
关于控件的继承关系(面试重点):(1)所有的控件都继承自UIView。(2)能监听事件的都是先继承自UIControl,UIControl再继承自UIView。比如UIButton。(3)能整体滑动的都是继承自UIScrollView,UIScrollView再继承自UIView。比如UITable... 阅读全文
posted @ 2015-08-31 18:53
Ray_hok
阅读(311)
评论(0)
推荐(0)
摘要:
1、所有控件都继承自UIView,UIView的常见属性如下:@property(nonatomic,readonly) UIView *superview;获得自己的父控件对象@property(nonatomic,readonly,copy) NSArray *subviews;获得自己的所有子... 阅读全文
posted @ 2015-08-31 18:52
Ray_hok
阅读(149)
评论(0)
推荐(0)
摘要:
在以往写代码时,我们经常是把声明写在.h文件中,把实现写在.m文件中,但是在实际开发中,如果把声明写在.h文件中会暴露程序很多属性(成员变量、成员变量的get和set方法),为了安全考虑,引入了类扩展的概念,类扩展中的属性是私有的。在进行程序开发时,比如在ViewController.m文件中,常常... 阅读全文
posted @ 2015-08-31 18:51
Ray_hok
阅读(209)
评论(0)
推荐(0)
摘要:
ios有个原则,谁弹出的键盘就由谁退出键盘。比如一个界面,有两个输入框,如果通过第一个输入框num1弹出的键盘就由第一个输入框负责退出键盘,如果是第二个输入框num2弹出的键盘那就由第二个输入框负责退出键盘。这里有个概念,叫“第一响应者”,拿弹出键盘来说,最后一个弹出键盘的输入框就是键盘的第一响应者... 阅读全文
posted @ 2015-08-31 18:50
Ray_hok
阅读(329)
评论(0)
推荐(0)

浙公网安备 33010602011771号