에디트박스 Delegate

Delegate : 특정 객체가 특정 동작을 하면 미리 지정된 메서드가 호출되는 것



h++)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef test390_hpp
#define test390_hpp
 
 
#include "cocos2d.h"
#include "cocos-ext.h"
 
USING_NS_CC;
USING_NS_CC_EXT;
 
 
class Test390 : public Layer, public EditBoxDelegate
{
public:
    virtual bool init();
    static Scene* createScene();
    CREATE_FUNC(Test390);
    
    
protected:
    virtual void editBoxEditingDidBegin(EditBox *editBox);
    virtual void editBoxEditingDidEnd(EditBox *editBox);
    virtual void editBoxTextChanged(EditBox *editBox, const std::string &text);
    virtual void editBoxReturn(EditBox *editBox);
};
 
 
#endif
cs



c++)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include "test390.hpp"
 
 
USING_NS_CC;
 
 
Scene* Test390::createScene()
{
    auto scene = Scene::create();
    
    auto layer = Test390::create();
    scene->addChild(layer);
    
    
    return scene;
}
 
 
bool Test390::init()
{
    if ( !Layer::init())
    {
        return false;
    }
    
    
    auto editBox = EditBox::create(Size(40050), Scale9Sprite::create("green_edit.png"));
    editBox->setPosition(Point(240160));
    editBox->setPlaceHolder("NAME : ");
    editBox->setMaxLength(8);
    this->addChild(editBox);
    
    
    //델리게이트 설정추가
    editBox->setDelegate(this);
    
    
    return true;
}
 
//키보드를 호출시
void Test390::editBoxEditingDidBegin(EditBox *editBox){
    CCLOG("EditingDidBegin");
}
 
//키보드가 사라질때
void Test390::editBoxEditingDidEnd(EditBox *editBox){
    CCLOG("EditingDidEnd");
}
 
//글자를 입력할때마다
void Test390::editBoxTextChanged(EditBox *editBox, const std::string &text){
    CCLOG("TextChanged");
}
 
//엔터키 입력시
void Test390::editBoxReturn(EditBox *editBox){
    CCLOG("Return");
}
cs



결과

1
2
3
4
5
6
7
EditingDidBegin
TextChanged
TextChanged
TextChanged
TextChanged
EditingDidEnd
Return
cs


'IT > - 프로그래밍' 카테고리의 다른 글

Cocos HTTP 통신  (0) 2017.03.31
IOS Hello World! 출력  (0) 2017.03.30
Cocos EditBox 메서드  (0) 2017.03.28
Cocos 에디트박스 생성하기  (0) 2017.03.27
안드로이드 ANT 설치  (0) 2017.03.26

+ Recent posts