类说明
CAAlertView是提示框控件,如果提示框内的按钮个数不超过三个,这个横向排列按钮,如果按钮个数超过三个则纵向排列。
CAAlertView 方法 (点击方法名可查看方法介绍)
方法 | 说明 |
addButton | 添加一个按钮到CAAlertView |
setAlertMessage | 提示框的提示信息 |
hide | 隐藏提示框 |
setMessageFontName | 提示信息的字体 |
show | 显示提示框 |
setTarget | 添加监听 |
setTitle | 提示框的标题 |
hideWithDisplayed | 隐藏提示框 |
create | 创建 |
createWithText | 创建,并指定其Text |
initWithText | 初始化,并指定化文本 |
addButton | 添加按钮到CAAlertView |
CAAlertView是提示框控件,如果提示框内的按钮个数不超过三个,这个横向排列按钮,如果按钮个数超过三个则纵向排列。
我们来看一下实例代码:
首先在.h文件中声明一下函数:
//按钮的回调函数
void respondTouch(CAControl* btn, DPoint point);
//提示框的回调函数
void alertViewCallback(int btnIndex);
然后在.cpp文件中添加以下代码:
void FirstViewController::viewDidLoad()
{
//获取屏幕宽度
DSize size = this->getView()->getBounds().size;
//设置背景颜色为黑色
this->getView()->setColor(CAColor_black);
//创建Button
CAButton* imageBtn = CAButton::createWithCenter(DRect(size.width*0.5, 500, 200, 50), CAButtonTypeSquareRect);
//设置Buttion文本
imageBtn->setTitleForState(CAControlStateAll, "Click");
//设置tag值
imageBtn->setTag(1);
//设置按钮监听
imageBtn->addTarget(this, CAControl_selector(FirstViewController::respondTouch), CAControlEventTouchUpInSide);
//添加到屏幕
this->getView()->addSubview(imageBtn);
}
void FirstViewController::respondTouch(CAControl* btn, DPoint point)
{
//获得屏幕大小
DSize size = this->getView()->getBounds().size;
//创建CAAlerView 并设置显示文本和 green按钮和yellow按钮
CAAlertView* alertView = CAAlertView::createWithText("ButtonImage", UTF8("点击替换按钮颜色"), "green", "yellow", NULL);
//获得0-1之间的随机数
float randNum = CCRANDOM_0_1();
if (randNum > 0.333f)
{
//添加按钮设置文本为orange
alertView->addButton("orange");
}
if (randNum> 0.666f)
{
//添加按钮并设置文本为blue
alertView->addButton("blue");
}
//显示弹窗(如果不调用,弹窗不显示)
alertView->show();
//设置弹窗按钮的回调
alertView->setTarget(this, CAAlertView_selector(FirstViewController::alertViewCallback));
}
void FirstViewController::alertViewCallback(int btnIndex)
{
//根据tag获得imageBtn对象
CAButton* imageBtn =(CAButton*) this->getView()->getSubviewByTag(1);
//根据CAAlertView上按钮的index判断响应的逻辑
if (btnIndex == 0)
{
//设置imageBtn背景色为green
imageBtn->setBackGroundViewForState(CAControlStateNormal, CAView::createWithColor(CAColor_green));
}
else if (btnIndex == 1)
{
//设置imageBtn背景色为yellow
imageBtn->setBackGroundViewForState(CAControlStateNormal, CAView::createWithColor(CAColor_yellow));
}
else if (btnIndex == 2)
{
//设置imageBtn背景色为orange
imageBtn->setBackGroundViewForState(CAControlStateNormal, CAView::createWithColor(CAColor_orange));
}
else
{
//设置imageBtn背景色为blue
imageBtn->setBackGroundViewForState(CAControlStateNormal, CAView::createWithColor(CAColor_blue));
}
}
void setMessageFontName(std::string &var);
返回值:void
参数:
类型 | 参数名 | 说明 |
std::string | var | 信息文字 |
解释:设置提示信息的字体
void setTitle(std::string var, CAColor4B col);
返回值:void
参数:
类型 | 参数名 | 说明 |
CAColor4B | col | 标题颜色 |
std::string | var | 信息文字 |
解释:设置提示框的标题
void setAlertMessage(std::string var, CAColor4B col);
返回值:void
参数:
类型 | 参数名 | 说明 |
CAColor4B | col | 提示信息颜色 |
std::string | var | 提示信息字体 |
解释:设置提示框的提示信息
void addButton(const std::string& btnText, CAColor4B col = ccc4(3, 100, 255, 255), CAImage* pNormalImage = NULL,AImage* pHighlightedImage = NULL);
返回值:void
参数:
类型 | 参数名 | 说明 |
std::string& | btnText | 按钮文字 |
CAColor4B | col | 按钮颜色 |
CAImage* | pNormalImage | 按钮图像 |
AImage* | pHighlightedImage | 高亮度图像 |
解释:添加一个按钮到CAAlertView
void setTarget(CAObject* target, SEL_CAAlertBtnEvent selector);
返回值:void
参数:
类型 | 参数名 | 说明 |
CAObject* | target | 监听目标 |
SEL_CAAlertBtnEvent | selector | 监听选择器 |
解释:设置 CAAlertView 的监听
返回值:void
参数:
解释:设置显示提示框
返回值:void
参数:
解释:设置隐藏提示框void
static bool hideWithDisplayed();
返回值:static bool
参数:
解释:隐藏提示框
返回值:static CAAlertView*
参数:
解释:创建
static CAAlertView* createWithText(const char* pszTitle, const char* pszAlertMsg, const char* pszBtnText, ...);
返回值:CAAlertView*
参数:
类型 | 参数名 | 说明 |
const char* | pszTitle | 标题 |
const char* | pszAlertMsg | 提示框内容 |
const char* | pszBtnText | 按钮文本 |
解释:创建,并指定其Text
bool initWithText(const char* szTitle, const char* szAlertMsg, const char* pszBtnText, ...);
返回值:bool
参数:
类型 | 参数名 | 说明 |
const char* | szTitle | 标题 |
const char* | szAlertMsg | 提示框内容 |
const char* | pszBtnText | 按钮文本 |
解释:初始化,并指定化文本
void addButton(CAButton* pBtn);
返回值:void
参数:
类型 | 参数名 | 说明 |
CAButton* | pBtn | 按钮 |
解释:添加按钮到CAAlertView