您的位置:首页 > 移动开发 > IOS开发

CCEditBox/CCEditBoxImplIOS

2014-09-18 11:24 281 查看
#ifndef __CCEditBoxIMPLIOS_H__

#define __CCEditBoxIMPLIOS_H__

#include "cocos2d.h"

#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)

#include "ExtensionMacros.h"

#include "CCEditBoxImpl.h"

#import <Foundation/Foundation.h>

#import <UIKit/UIKit.h>

@interface CustomUITextField : UITextField

{

}

@end

@interface EditBoxImplIOS : NSObject <UITextFieldDelegate>

{

CustomUITextField* textField_;

void* editBox_;

BOOL editState_;

}

@property(nonatomic, retain) UITextField* textField;

@property(nonatomic, readonly, getter = isEditState) BOOL editState;

@property(nonatomic, assign) void* editBox;

-(id) initWithFrame: (CGRect) frameRect editBox: (void*) editBox;

-(void) doAnimationWhenKeyboardMoveWithDuration:(float)duration distance:(float)distance;

-(void) setPosition:(CGPoint) pos;

-(void) setContentSize:(CGSize) size;

-(void) visit;

-(void) openKeyboard;

-(void) closeKeyboard;

@end

NS_CC_EXT_BEGIN

class CCEditBox;

class CCEditBoxImplIOS : public CCEditBoxImpl

{

public:

CCEditBoxImplIOS(CCEditBox* pEditText);

virtual ~CCEditBoxImplIOS();

virtual bool initWithSize(const CCSize& size);

virtual void setFont(const char* pFontName, int fontSize);

virtual void setFontColor(const ccColor3B& color);

virtual void setPlaceholderFont(const char* pFontName, int fontSize);

virtual void setPlaceholderFontColor(const ccColor3B& color);

virtual void setInputMode(EditBoxInputMode inputMode);

virtual void setInputFlag(EditBoxInputFlag inputFlag);

virtual void setMaxLength(int maxLength);

virtual int getMaxLength();

virtual void setReturnType(KeyboardReturnType returnType);

virtual bool isEditing();

virtual void setText(const char* pText);

virtual const char* getText(void);

virtual void setPlaceHolder(const char* pText);

virtual void setPosition(const CCPoint& pos);

virtual void setVisible(bool visible);

virtual void setContentSize(const CCSize& size);

virtual void setAnchorPoint(const CCPoint& anchorPoint);

virtual void visit(void);

virtual void onEnter(void);

virtual void doAnimationWhenKeyboardMove(float duration, float distance);

virtual void openKeyboard();

virtual void closeKeyboard();

virtual void onEndEditing();

private:

voidinitInactiveLabels(const CCSize& size);

voidsetInactiveText(const char* pText);

voidadjustTextFieldPosition();

void placeInactiveLabels();

CCLabelTTF* m_pLabel;

CCLabelTTF* m_pLabelPlaceHolder;

CCSize m_tContentSize;

CCPoint m_obPosition;

CCPoint m_obAnchorPoint;

EditBoxImplIOS* m_systemControl;

int m_nMaxTextLength;

bool m_bInRetinaMode;

};

NS_CC_EXT_END

#endif /* #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) */

#endif /* __CCEditBoxIMPLIOS_H__ */
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: