- 博客(116)
- 收藏
- 关注
转载 ios tableView UITableView中Cell重用机制导致内容重复解决方法
转自 http://www.2cto.com/kf/201308/238449.htmlUITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件。上面主要是一个个的UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以在UITableViewCell中加入UITextField或者UITe
2014-03-07 09:10:10
618
原创 ios点击背景时关闭键盘
点击背景时关闭键盘- (void)viewDidLoad{ [superviewDidLoad]; UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleBack
2014-03-02 19:57:14
685
转载 UITableView的重用机制原理
UITableView的重用机制的实现关键在于下面这个的函数:UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];首先,我们要清楚这一点,这个函数是做什么的,它的文档说明如下:returns a reusable table-view cell object
2014-02-26 15:52:16
824
转载 iOS 如何选择delegate、notification、KVO?
转载: http://mobile.51cto.com/iphone-386316.htdelegate、notification和KVO的功能比较类似,那么在实际的编程中,如何选择这些方式呢? 在开发ios应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers间怎么进行通信。在IOS应用不断的出现三种模式来实现这种通信:1.委托
2014-02-26 14:01:46
481
原创 iOS开发获取屏幕的宽高
[[UIScreen mainScreen] bounds].size.width[[UIScreen mainScreen] bounds].size.height
2014-02-25 11:52:04
550
转载 ASIHTTPRequest官方文档
翻译自http://allseeing-i.com/ASIHTTPRequest/How-to-use1.创建并运行一个请求1.1 创建一个同步请求创建一个同步请求是使用ASIHTTPRequest的最简单的方式。发送消息startSynchronous会在同一个线程中执行这个请求,并且当请求结束的时候会返回控制权(成功或者其它的情况)。通过erro
2014-02-24 19:18:28
419
转载 【转】NSJSONSerialization解析JSON数据
JSON->NSData 1 - (IBAction)touchWriteButton:(id)sender { 2 NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; 3 [dictionary setValue:@"Anthony" forKey:@"First Name"]
2014-02-24 18:42:41
502
原创 Objective-C 集合
#import int main(int argc,const char * argv[]){ @autoreleasepool { // insert code here... //集合 //类方法创建集合
2013-12-29 15:59:34
626
转载 Objective-C字符串
--------操作字符串--NSString(静态字符串)--------------------- NSString *Beijing= @"北京欢迎您"; //字符串的声明 NSString *log=@"北京欢迎您a"; //[NSString stringWithFormat:@"I am '%@'",Beijing]; //字符串格式化
2013-11-07 20:05:58
542
原创 cocos2d-x——用精灵帧创建动画
bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } //生成第一个精灵 CCSpr
2013-10-31 11:33:55
1545
原创 cocos2d-x ——用精灵文件创建一个动画
动画都是由一帧一帧连接而成的,有了动画的每一帧之后,我们需要把每一帧添加到CCAnimation中,CCAnimation相当于是一个容器,里面按我们添加帧的顺序,将我们的每一帧都储存好,并且定义了各帧之间的延时,还给每帧起了名字,我们可以通过动画的名字访问特定的帧。将CCAnimation封装成一个CCAnimate。 CCAnimate可以被我们的精灵当做一个动作执行。bool
2013-10-31 11:33:12
540
原创 cocos2d-x——CCCallFunc家族例子
boolHelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { returnfalse; } CCSprite *sp = CCS
2013-10-31 11:31:03
537
原创 cocos2d-x——CCCallFunc家族
在我们需要在一个动作序列中的某一个动作执行结束后,调用某个函数用于执行一个任务的时候我们可以使用CCCallFunc家族函数。CCCallFunc家族函数。CCCallFunc家族函数是CCActionInstant类的子类。值得注意的是,虽然CCCallFunc家族函数是瞬时动作的子类,但是所谓的瞬时,也只是指函数调用的一瞬间,而关于函数内容怎么执行,耗用多久,则完全与瞬时没有任何联系。CCCa
2013-10-31 11:29:40
546
原创 cocos2d-x——CCActionInterval(延时动作)例子
bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSprite *sp=C
2013-10-31 11:29:21
838
原创 cocos2d-x——(CCSpeed)可调整速度动作
可调整速度动作CCSpeed不是一个独立的动作,可艰把它理解为是对目前动作一个“包装”,经过这个“包装 ”以后,就可以实现"慢动作"和"快进"的效果。bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer
2013-10-31 11:28:31
2303
原创 cocos2d-x——跟随动作
CCFollow 一个节点跟随另外一个节点的动作。定义第一个参数是要跟随的节点,第二个参数是运动的边界。如果没有传入边界,则视为没有边界。bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init
2013-10-31 11:27:33
1806
原创 Cocos2d-x——瞬时动画例子
bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } //创建精灵 CCSprite
2013-10-31 11:27:12
532
原创 Cocos2d-x ——Action (动作)简介
Cocos2d-x中非常关键的部分——动作。动作是一个轻量级的类,可以用来让节点执行者诸如移动、旋转、缩放、变色、消失等很多动作。所有的动作都可以细分为若干个基本动作和基本动作的组合动作。进一步通过动作的扩展,我们可以将同一个精灵的更多动作和不同精灵之间的不同动作连贯起来,形成一个动态的游戏的世界。基本动作: 基本动作的本质就是改变某个图形对象的属性。包含:位置、角度、
2013-10-31 11:24:59
644
原创 cocos2d-x ——菜单层(CCMenuItemToggle)五
CCMenuItemToggle继承自CCMenuItem提供可变数组存放CCMenuItem对象,用于实现选中状态切换。.hvoid menFun(CCObject* pScene);.cppbool HelloWorld::init(){ //////////////////////////////
2013-10-31 11:23:06
735
原创 cocos2d-x ——菜单层(CCMenuItemImage)四
CCMenuItemIage是继承自CCMenuItemSprite提供三个图片创建三个精灵,最终创建CCMenuitemSprite.h文件void menFun(CCObject *pScene);.cpp文件bool HelloWorld::init(){ ///////////////////////////
2013-10-31 11:22:07
752
原创 cocos2d-x ——菜单层(CCMenuItemSprite)三
CCMenuItemSprite是继承自CCMenuItem内置三个CCNode的对象,无特殊显示效果。.h文件void menFun(CCObject *pSecen);.cpp文件bool HelloWorld::init(){ ////////////////////////////// //
2013-10-31 11:21:06
1003
原创 cocos2d-x ——菜单层(CCMenuItemFont)二
CCMenuItemFont:继承自CCMenuItemLabel通过设置字体创建Label,最终创建CCMenuItemLabel菜单项。.h文件void menFun(CCObject *pScene);.cpp文件bool HelloWorld::init(){ ////////////////////////
2013-10-31 11:20:26
817
原创 Cocos2d-x ——菜单层(CCMenuItemLabel) 一
CCMenuItemLabel就是将一个CCLabel转换成一个CCMenuItem。static CCMenuItemLabel *create(CCNode *label,CCobject *target,SEL_MenuHandler selector);在声明中,我们只需要提前创建好一个CCLabel,之后将这个Label作为一个参数放到create方法中,就可以将它变成一
2013-10-31 11:20:22
880
原创 cocos2d-x——CCLabelBMFont(汉字艺术文本)
CCLabelBMFont类在使用之前,需要添加好字体文件,包括一个png图片文件和一个fnt字体坐标文件。 static CCLabelBMFont *create(const char *str,const char *fntFile);创建的时候我们只需要传入需要显示的内容以及fnt文件的路径。例: //需要testChinese.fnt和testC
2013-10-31 11:19:24
673
原创 Cocos2d-x——CCLabelAtlas (英文艺术文本)
CCLabelAtlas类创建方式有两种:方式一: 需要提供.png的文件stabic CCLabelAtlas *create(const char *string, const char *charMapFile, unsigned int itermWidt
2013-10-31 11:18:40
651
原创 cocos2d-x——CCLabelTTF(基本文本)
CCLabelTTF类是使用起来最方便的类,最常用的创建标签 的方法有两种方法:方法一:static CCLabelTTF *create(const char *string,const char *fontName,float fontSize);参数分别是:标签显示的内容,使用的字体 以及字符大小,这里的字体一般指的就是系统字库,当然我们也可以为它提供,ttf文件
2013-10-31 11:17:18
1341
原创 Cocos2d-x——场景切换的例子
HelloWorldScene.h#include "cocos2d.h"class HelloWorld :public cocos2d::CCLayer{public: virtual bool init(); staticcocos2d::CCScene* scene(); void menuFu
2013-10-31 11:15:35
464
原创 Cocos2d-x ——CCMenu菜单层的简介
菜单类CCMenu不能够单独使用,它是一个菜单项CCmenuItem的容器。所以我们主要的研究对象是CCMenuItem。CCMenuItem类的子类有很多,我们经常会看到用到的是CCMenuItemLabel 和CCMenuItemSprite以及它们的子类。
2013-10-31 11:15:15
491
原创 Cocos2d-x ——CCLabel 文本标签简介
CCLabel就是一个标签,一般只是单纯用来显示文字,比如游戏介绍、得分、名称等等。 CCLabelTTF 、 CCLabelAtlas 、CCLabeIBMFont 都是继承自CCLabelProtocol 。 父类:CCLabelProtocol只提供了两个方法:getString()和setString(),作用分别是获取CCLabel中的内容,
2013-10-31 11:14:44
613
原创 cocos2d-x环境安装
MAC下安装打开终端 :cd +空格 把解压的文件拖到终端。 回后,然后输入: sudo ./install-templates-xcode.sh 然后输入开机密码开始安装。注意sudo ./i o与.之间有一个空格。cocos2d-x 3.0建工程方法:在终端下:cd 【3.0路径】回车。python create-m
2013-10-30 14:32:49
528
原创 Cocos2d-基础知识
CCNode节点类 CCNode节点类CCScene、CCLayer、CCSprite等类的基类,cocos2d-x框架中所有能够绘制,或能够容纳可以绘制的对象的对象就是CCNode的子类。CCNode特点:1,每个节点都可以包含子节点。2,节点包含有周期性回调方法。3,可以执行动作。4,含有大量属性。CCNode常用函数
2013-10-30 14:29:42
488
原创 C++算法
基本算法:变序型队列算法——可以改变容器中数据。 int arr[6]={1,12,3,2,1215,90}; int arr1[7]; copy(arr,arr+6,arr1);//将arr指定的范围复制给arr1。 for (int i=0; i7; i++) { cout' ';
2013-10-30 14:29:26
517
原创 C++ 列表List
List(#include)又叫链表,list的专有函数sort()对容器中的元素排序merge()合并两个容器中的元素splice() 将一个容器中的元素插入到另一个容器中 listint>list;//初始化两个list对象 list.push_back(123); list.push_back(34
2013-10-30 14:28:09
778
原创 Cocos2d-x——HelloWorldScene.cpp的详解
#include "HelloWorldScene.h"#include "SimpleAudioEngine.h"using namespace cocos2d;using namespace CocosDenshion;CCScene* HelloWorld::scene()// 创建一个场景。{ CC
2013-10-30 14:26:48
593
原创 Cocos2d-x 创建精灵的4种方法
//1用静态方法(创建)一个精灵 CCSprite *spr1=CCSprite ::create("Icon.png"); spr1->setPosition(ccp(400, 550));//设置位置 addChild(spr1);//把精灵放在层上。当前层是Hellowordl //2 截取图片的局部 CCSprite *
2013-10-30 14:24:24
569
原创 C++容器 和迭代器
STL容器为我们提供了这样的方便,它允许我们重复利用已有的实现构造自己的特定类型下的数据结构,通过设置一些模版类,STL容器对最常用的数据结构提供了支持,这些模板的参数允许我们指定容器中元素的数据类型。容器部分主要由头文件,,,,,和组成。向量(vector)向量(vector容器类):头文件 #include ,vector是一种动态数组,是基本数组的类模板。迭代
2013-10-30 14:23:29
1131
原创 Cocos2d-x架构介绍
Cocos2d-x游戏中包含以下四个部分:CCDirector导演,CCScene场景,CCLayer层,CCSprite精灵。一、场景 CCScene 玩家玩游戏的过程就是不断地在已经预设好的界面之间根据玩家的操作或选择进行不同的跳转,这些构成整个流程的界面就是我们所说的场景。不同的场景可以提供不一的操作,大致分为: 1展示类场景:播放动画或简单地
2013-10-30 14:22:49
573
原创 C++字符串
C++兼容C对字符串的处理方式,与此同时还在标准库(STL)中提供了string类,使用string来处理对象。要包含头文件#includestring 类对象的初始化;方式一:string 变量=字符串。方式二:string 类的构造函数。 构造函数
2013-10-30 14:21:41
607
原创 C++STL介绍
STL(Standard Template Library标准模板库)是惠普实验室开发一系列软件的统称。相当于OC的foundation. STL有三大核心部分:容器(Container)、算法(Algorithms)、迭代器(Interator)。容器:可容纳一些数据的模板类。算法:处理容器里面数据的方法、操作。迭代器:用来遍历容器中数据的对象。
2013-10-30 14:20:17
496
原创 C++异常处理(下)
#include #include "string"using namespacestd;class Student{private: int num; string name; public: Student(int _n ,string _name) { cou
2013-10-30 14:19:32
481
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人