上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 虽说Label的中文翻译是标签标记,但它其实是一个静态文本内容的展现控件。一般来说,UILabel只是一个只读的文本视图,开发者可以利用UiLabel来展示内容长度有固定上限的文字内容。并且,UILabel支持多行显示,支持文体设置,支持简单排版,支持简单文字效果。UILabel会是开发者平时开发过... 阅读全文
posted @ 2014-04-13 21:13 haibo wang 阅读(372) 评论(0) 推荐(0)
摘要: 1.UITabbarViewController标签试图控制器。由于标签页本就起着分类的作用,所以往往呈现的视图内容之间,可以是毫不相关的功能。UITabbarViewController仍然继承自UIViewController,但标签栏和导航栏都有着始终处于所有视图最前端的特性。对于标签页栏,他是一个UITabbar类的对象,无论横竖屏,在其之上可以放置最少1个,最多5个的标签页。当然如果有更多的标签页的话,页栏会将最后的标签页改变成一个默认的"More"标题带有默认的“...”图片的标签项目。并且,UITabbarController还支持排序的编辑功能,只要开发者为 阅读全文
posted @ 2014-04-12 16:51 haibo wang 阅读(303) 评论(0) 推荐(0)
摘要: 1.栈 导航控制器自身有一个针对显示内容的栈,也有一个对于导航栏的栈,当有新的内容欲显示时,进的导航栏和显示内容会被压入此栈,这样原本显示中的导航栏和显示内容则会进入到栈的更深一层中,根据栈的先进后出功能,最后被压入栈的界面先出栈。不过导航视图控制器始终有两个栈,一个栈控制导航栏内容,一个栈控制显示内容,并且开发者有义务也必须保持这两个栈的深度一致,否则程序会将不同步异常抛出。 对于显示内容的压栈操作API如下:-(void)pushViewController:(UIViewController *)viewController animated:(BOOL )animated对于显示内容 阅读全文
posted @ 2014-04-12 12:39 haibo wang 阅读(357) 评论(0) 推荐(0)
摘要: IOS中AppDelegate中的生命周期事件的调用条件 1 //当应用程序将要进入非活动状态执行,在此期间,应用程序不接受消息或事件,比如来电 2 - (void)applicationWillResignActive:(UIApplication *)application 3 { 4 NSLog(@"应用程序将要进入非活动状态,即将进入后台"); 5 } 6 7 //应用程序已经进入后台运行 8 - (void)applicationDidEnterBackground:(UIApplication *)application 9 {10 NSLog(@"如 阅读全文
posted @ 2014-04-11 14:29 haibo wang 阅读(199) 评论(0) 推荐(0)
摘要: 1.UIViewController *newController=[[UIViewController alloc] initWithNibName:@"XXX" bundle:nil];中XXX为名字xib的文件名,这个主要用在xib视图添加到其他视图中的时候用到,比如自定义UIView,当添加这个自定义View时,添加起xib文件名的要。2.UIViewController创建时,函数的调用顺序如下:[viewDidLoad][viewWillAppear:][viewWillLayoutSubviews] (iOS之后新API)[viewDidLayoutSubvi 阅读全文
posted @ 2014-04-10 17:05 haibo wang 阅读(548) 评论(0) 推荐(0)
摘要: 单例模式只能修改无法释放,直到程序结束。我们下面一步一步来做一个单例模式程序(1)单例一旦创建,是永远存在于内存中的,所以需要创建一个全局量static MySingletonClass *sharedSingleTonObj=nil;(2)既然是单例,一定有一个构造方法直接忽略跳过实例对象的生成过程。据此看来“类方法”最合适不过了+(MySingletonClass *)sharedSingleton{ //多线程安全的关键字,相关概念可以参考多线程编程章节 @synchronized(self) { //创建 if(share... 阅读全文
posted @ 2014-04-10 15:04 haibo wang 阅读(335) 评论(0) 推荐(0)
摘要: 代理是Object-C中的一个重要机制,他可以将面向对象编程的封装特性进一步加强,不是自己负责的事情坚决不做,而是转而让对应的事情负责人(代理)去做。相反如果是自己需要负责的事情(作为别人的代理),会抢着去做。代理的引入真正意义上完全实现MVC的程序结构框架。协议是对类的实现进行规约的一套标准,可以保证多个承诺实现协议的类的接口一致性。比如协议中定义了一个接口X,那承诺执行这个协议的类,就需要实现这个接口X.协议的关键性是让大家都有法可依有据可查。Object-C中很多时候,协议和代理是一起出现一起使用的,我们可以通过协议和代理来进行类与类之间的通信和交流。抽象的描述,如果类A是类B的代理,那 阅读全文
posted @ 2014-04-10 14:12 haibo wang 阅读(1222) 评论(0) 推荐(0)
摘要: 1.内存的创建和释放 让我们以Object-c世界中最最简单的申请内存方式展开,谈谈关于一个对象的生命周期。首先创建一个对象://“ClassName”是任何你想写的类名,比如NSString NSArray等一切随意id testObject = [[ClassName alloc] init];注: alloc 是object-c 中常用来申请内存块的方式此时,对于对象“testObject”来说,他的引用计数就是1了,原因就是他调用了alloc来创建了一块只属于他的内存,这样对象的引用计数就得+1. 另外,Object-c中的另两个关键字retain和copy也会将对象的引用计数+1.. 阅读全文
posted @ 2014-04-10 13:25 haibo wang 阅读(619) 评论(0) 推荐(0)
摘要: Object-c 中的block就好像一段C函数般,由函数名,有返回值,有参数,由函数体等1.简单的block1 ^(int A ,int B)2 {3 int C=A*B;4 return C;5 };上述代码表示block有两个整形参数A和B.在block体中进行A和B的相乘,将结果作为block的返回值返回出去。2.将block作为参数的API 在程序开发时,当需要一个NSArray对象的所有元素进行遍历时,除了for循环,开发者可以使用block进行遍历,代码如下:1 NSArray *arrChar=[@"A/B/C/D/E/F" c... 阅读全文
posted @ 2014-04-10 10:30 haibo wang 阅读(3321) 评论(0) 推荐(0)
摘要: KVO(key-value Observer),通过命名可以联想到,一个监视着监视着键值配对,让一个对象A来监视另一个对象B中的键值,一旦B中的受监视键所对应的值发生了变化,对象A会进入一个回调函数,有机会对于B中的受监视键值的改变立刻进行处理和应对。 注:虽然对象A中的回调函数有点像代理方法,但是回调函数的调用和键值发生变化处在同一个线程中,并非像某些代理方法会在另一个线程中进行回调。也就是说,如果对键key进行了监视,一旦键key对应的值发生了变化,就会去调用监视着的回调函数,直到回调函数跑完后键key对应值发生变化的流程才能继续。 好处就是减少胶水代码。 比如比赛比分发生了变化... 阅读全文
posted @ 2014-04-09 17:13 haibo wang 阅读(380) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 下一页