摘要: 阅读本文之前首先了解copy与retain的区别,如果有不正确的地方望大家多多指教:copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象retain为1 ,与旧有对象的引用计数无关,旧有对象没有变化。copy减少对象对上下文的依赖。 retain属性表示两个对象地址相同(建立一个指针,指针拷贝),内容当然相同,这个对象的retain值+1也就是说,retain 是指针拷贝,copy 是内容拷贝。当然在ios中并不是所有的对象都支持copy,mutableCopy,遵守NSCopying 协议... 阅读全文
posted @ 2012-04-21 23:10 高笑228 阅读(7152) 评论(0) 推荐(1) 编辑
摘要: CCDirector类,简称Director(导演),是cocos2d游戏引擎的核心。 Director是一个单例:它保存着 cocos2d的全局配置设定,同时管理着cocos2d的场景。 Director的主要用处如下:1. 访问和改变场景2. 访问cocos2d的配置细节3. 访问视图(OpenGL,UIView,UIWindow)4. 暂停,恢复和结束游戏5. 在UIKit和OpenGL之间转换坐标除了场景本身,每一个节点只有一个父节点,但是可以有任意数量的子节点。在最上面,你总是放置场景节点(MyScene),通常跟着的 是一个层节点(MyLayer)。在cocos2d里,层节点的作用 阅读全文
posted @ 2012-04-21 16:54 高笑228 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 单例模式确保某一个类只有一个实例,单例模式三个要点1,某个类只能有一个实例2,它必须自行初始化3,必须自行向整个系统提供这个实例单例的好处是它可以在任何地点被任何类所调用。它接近于全局类的作用,更像一个全局变量。如果你需要在任何地方都能用到某些数据或方法,单例是很好的选择。 阅读全文
posted @ 2012-04-21 15:53 高笑228 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1.首先要明确的是,不使用pushViewController的默认动画,所以在调用这个函数时,要将animated设置为NO. 2.使用普通的来CATransition实现转换效果,代码如下:CATransition *animation = [CATransition animation];[animation setDuration:0.3];[animation setType: kCATransitionMoveIn];[animation setSubtype: kCATransitionFromTop];[animation setTimingFunction:[CAMedia. 阅读全文
posted @ 2012-04-21 15:10 高笑228 阅读(1760) 评论(0) 推荐(0) 编辑
摘要: 1、在Mac OS中NSWindow的父类是NSResponder,而在i OS 中UIWindow 的父类是UIVIew。程序一般只有一个窗口但是会又很多视图。2、UIView的作用:描画和动画,视图负责对其所属的矩形区域描画、布局和子视图管理、事件处理、可以接收触摸事件、事件信息的载体、等等。3、UIViewController 负责创建其管理的视图及在低内存的时候将他们从内存中移除。还为标准的系统行为进行响应。4、layOutSubViews 可以在自己定制的视图中重载这个方法,用来调整子视图的尺寸和位置。5、 UIView的setNeedsDisplay和setNeedsLayout方 阅读全文
posted @ 2012-04-21 10:09 高笑228 阅读(334) 评论(0) 推荐(0) 编辑
摘要: UIControlEventTouchEnter这个事件我发现是这样触发的 当你点击button后,手指移出button界外,然后在回到button界内就触发这个事件了 阅读全文
posted @ 2012-04-19 21:32 高笑228 阅读(109) 评论(0) 推荐(0) 编辑
摘要: -(void)viewDidLoad { [super viewDidLoad]; // create a new button UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [button setTitle:@"Drag me!" forState:UIControlStateNormal]; // add drag listener [button addTarget:self action:@selector(wasDragged:withEvent:) fo... 阅读全文
posted @ 2012-04-19 01:38 高笑228 阅读(890) 评论(0) 推荐(0) 编辑
摘要: 默认情况下,我们向一个View中添加一个子View时,子View的越界部分也会显示出来,当然超过屏幕部分是显示不出来,因为无法在你手上显示内容了。看下面的图:上图中,橙色的View是蓝色View的子View。看左图,由它们的Frame设置,橙色的View部分超出的蓝色View的区域,默认情况下,蓝色View超出部分也会显示出来,除非在屏幕之外的部分。而我们有时候不想要这种行为,希望越界部分不显示出来,像右图所示那盘。比如我们可能期望橙色View的动画效果只在它的父View,即蓝色View之内展现。其实问题很简单,正如标题中所提示的那个 clipToBounds属性,字面意思是裁减到边界,就是超 阅读全文
posted @ 2012-04-18 17:47 高笑228 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 修改plist文件 首先必须保证plist文件存在于Library 或者Documents中 建议把plist文件放在Library/Caches中(问过高手,放在这两个文件中有啥区别,高手说 苹果官方审查制度规定 最好把文件放在Library/Caches 中 ,否则苹果会不允许你的APP上架销售) NSString *documentPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"]; tempstr = [documentPath stringByAppendingPa 阅读全文
posted @ 2012-04-18 16:58 高笑228 阅读(839) 评论(0) 推荐(0) 编辑
摘要: NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *documentPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"]; NSString* tempstr = [documentPath stringByAppendingPathComponent:@"menu.plist"]; if (![fileManager fileExistsAtPath:tempstr] 阅读全文
posted @ 2012-04-18 15:46 高笑228 阅读(233) 评论(0) 推荐(0) 编辑