06 2014 档案
摘要:捏合 旋转手势#pragma mark -缩放手势(捏合手势)- (void)testPinch{ UIPinchGestureRecognizer*pinch = [[UIPinchGestureRecognizeralloc]initWithTarget:selfaction:@selector...
阅读全文
摘要://一个完整的触摸过程:touchesBegan -> touchesMoved -> touchesEnded/***触摸开始(手指刚碰到view)*/- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event{// event....
阅读全文
摘要:屏幕截图UIImage分类+ (instancetype)captureWithView:(UIView*)view{ // 1.开启上下文 UIGraphicsBeginImageContextWithOptions(view.frame.size,NO,0.0); // 2.将控制器view的...
阅读全文
摘要:屏幕适配 UIViewAutoresizingFlexibleLeftMargin = 1 << 0,距离父控件左边的间距是伸缩的 UIViewAutoresizingFlexibleWidth = 1 << 1,自己的宽度跟随着父控件的宽度进行伸缩 UIViewAutoresizin...
阅读全文
摘要:•归档一个NSArray对象到Documents/array.archiveNSArray *array = [NSArray arrayWithObjects:@”a”,@”b”,nil];[NSKeyedArchiverarchiveRootObject:arraytoFile:path];•恢...
阅读全文
摘要:l读取上次保存的设置NSUserDefaults*defaults = [NSUserDefaults standardUserDefaults];NSString*username = [defaultsstringForKey:@"username"];floattextSize = [defa...
阅读全文
摘要:属性列表-归档NSDictionaryl将一个NSDictionary对象归档到一个plist属性列表中//将数据封装成字典NSMutableDictionary *dict = [NSMutableDictionary dictionary];[dict setObject:@"母鸡" forKe...
阅读全文
摘要:获取应用的沙盒目录l沙盒根目录:NSString *home =NSHomeDirectory();lDocuments:(2种方式)u利用沙盒根目录拼接”Documents”字符串NSString *home =NSHomeDirectory();NSString*documents = [hom...
阅读全文
摘要:应用的沙盒每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒l应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer)模拟器应用沙盒的根路径在: (apple是用户名, 6.0是模拟器版本)/Users/appl...
阅读全文
摘要:•导航栏的内容由栈顶控制器的navigationItem属性决定••UINavigationItem有以下属性影响着导航栏的内容Ø左上角的返回按钮@property(nonatomic,retain)UIBarButtonItem*backBarButtonItem;Ø中间的标题视图@propert...
阅读全文
摘要:•UINavigationController以栈的形式保存子控制器@property(nonatomic,copy)NSArray*viewControllers;@property(nonatomic,readonly)NSArray*childViewControllers;•使用push方法...
阅读全文
摘要:•一个iOS的app很少只由一个控制器组成,除非这个app极其简单••当app中有多个控制器的时候,我们就需要对这些控制器进行管理••有多个view时,可以用一个大的view去管理1个或者多个小view••控制器也是如此,用1个控制器去管理其他多个控制器••比如,用一个控制器A去管理3个控制器B、C...
阅读全文
摘要:•一个iOS的app很少只由一个控制器组成,除非这个app极其简单••当app中有多个控制器的时候,我们就需要对这些控制器进行管理••有多个view时,可以用一个大的view去管理1个或者多个小view••控制器也是如此,用1个控制器去管理其他多个控制器••比如,用一个控制器A去管理3个控制器B、C...
阅读全文
摘要:控制器的延迟加载•控制器的view是延迟加载的:用到时再加载••可以用isViewLoaded方法判断一个UIViewController的view是否已经被加载••控制器的view加载完毕就会调用viewDidLoad方法
阅读全文
摘要:先加载storyboard文件(Test是storyboard的文件名)UIStoryboard*storyboard = [UIStoryboardstoryboardWithName:@"Test"bundle:nil];•接着初始化storyboard中的控制器Ø初始化“初始控制器”(箭头所指...
阅读全文
摘要:
阅读全文
摘要:•[UIApplication sharedApplication].windows在本应用中打开的UIWindow列表,这样就可以接触应用中的任何一个UIView对象(平时输入文字弹出的键盘,就处在一个新的UIWindow中)•[UIApplication sharedApplication].k...
阅读全文
摘要:•UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow•iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了•一个iOS程序之所以能显示到屏幕上...
阅读全文
摘要:所有的移动操作系统都有个致命的缺点:app很容易受到打扰。比如一个来电或者锁屏会导致app进入后台甚至被终止还有很多其它类似的情况会导致app受到干扰,在app受到干扰时,会产生一些系统事件,这时UIApplication会通知它的delegate对象,让delegate代理来处理这些系统事件•de...
阅读全文
摘要:•UIApplication有个功能十分强大的openURL:方法- (BOOL)openURL:(NSURL*)url;-•openURL:方法的部分功能有Ø打电话UIApplication *app = [UIApplication sharedApplication];[app openURL...
阅读全文
摘要:•从iOS7开始,系统提供了2种管理状态栏的方式Ø通过UIViewController管理(每一个UIViewController都可以拥有自己不同的状态栏)Ø通过UIApplication管理(一个应用程序的状态栏都由它统一管理)•在iOS7中,默认情况下,状态栏都是由UIViewControll...
阅读全文
摘要:•UIApplication对象是应用程序的象征••每一个应用都有自己的UIApplication对象,而且是单例的••通过[UIApplication sharedApplication]可以获得这个单例对象••一个iOS程序启动后创建的第一个对象就是UIApplication对象••利用UIAp...
阅读全文
摘要:••pch头文件的内容能被项目中的其他所有源文件共享和访问••一般在pch文件中定义一些全局的宏••在pch文件中添加下列预处理指令,然后在项目中使用Log(…)来输出日志信息,就可以在发布应用的时候,一次性将NSLog语句移除(在调试模式下,才有定义DEBUG)#ifdef DEBUG#defin...
阅读全文
摘要:l常见属性(红色部分是用文本编辑器打开时看到的key)uLocaliztion native development region(CFBundleDevelopmentRegion)-本地化相关uuBundle display name(CFBundleDisplayName)-程序安装后显示的名...
阅读全文
摘要:•建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除•在旧版本Xcode创建的工程中,这个配置文件的名字就叫“Info.plist”•项目中其他Plist文件不能带有“Info”这个字眼,不然...
阅读全文
摘要:#pragma mark 程序加载完毕(启动完毕)就会调用一次- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ NSLog(@"...
阅读全文
摘要:•UIDevice类提供了一个单粒对象,它代表着设备,通过它可以获得一些设备相关的信息,比如电池电量值(batteryLevel)、电池状态(batteryState)、设备的类型(model,比如iPod、iPhone等)、设备的系统(systemVersion)••通过[UIDevice cur...
阅读全文
摘要:每一个应用程序都有一个通知中心,NSNotificationCenter,专门负责协助不同对象之间的消息通信任何一个对象都可以向通知中心发布通知NSNotification,描述自己在做什么。其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知...
阅读全文
摘要:•通过UITextField的代理方法能够监听键盘最右下角按钮的点击1.成为UITextField的代理self.textField.delegate = self;2.遵守UITextFieldDelegate协议,实现代理方法- (BOOL)textFieldShouldReturn:(UITe...
阅读全文
摘要:1.新建一个继承自UITableViewCell的类2.重写initWithStyle:reuseIdentifier:方法Ø添加所有需要显示的子控件(不需要设置子控件的数据和frame, 子控件要添加到contentView中)Ø进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定...
阅读全文
摘要:很多人疑惑代理究竟该什么时候使用下面列举了一些使用代理的地方•对象A内部发生了一些事情,想通知对象B••对象B想监听对象A内部发生了什么事情••对象A想在自己的方法内部调用对象B的某个方法,并且对象A不能对对象B有耦合依赖••对象A想传递数据给对象B••……•以上情况,结果都一样:对象B是对象A的代...
阅读全文
摘要:1.新建一个xib文件描述一个view的内部结构(假设叫做MJTgCell.xib)●2.新建一个自定义的类(自定义类需要继承自系统自带的view, 继承自哪个类, 取决于xib根对象的Class)●3.新建类的类名最好跟xib的文件名保持一致(比如类名就叫做MJTgCell)●4.将xib中的控件...
阅读全文
摘要:iOS设备的内存有限,如果用UITableView显示成千上万条数据,就需要成千上万个UITableViewCell对象的话,那将会耗尽iOS设备的内存。要解决该问题,需要重用UITableViewCell对象重用原理:当滚动列表时,部分UITableViewCell会移出窗口,UITableVie...
阅读全文
摘要:Cell简介•UITableView的每一行都是一个UITableViewCell,通过dataSource的tableView:cellForRowAtIndexPath:方法来初始化每一行•UITableViewCell内部有个默认的子视图:contentView,contentView是UIT...
阅读全文
摘要:1.规范注释生成器VVDocumenter很多时候,为了快速开发,很多的技术文档都是能省则省,这个时候注释就变得异常重要,再配合Doxygen这种注释自动生成文档的,就完美了。但是每次都要手动输入规范化的注释,着实也麻烦,但有了VVDocumenter,规范化的注释,主需要输入三个斜线“///”,就...
阅读全文
浙公网安备 33010602011771号