具体情况是这样的:美术给了我 一个按钮的背景图片  一个按钮的文字图片,用背景图片创建一个button,然后把文字图片添加进去(注意关闭文字图片的交互功能)

设置UIButton setPressedActionEnabled(true) 后运行 发现只有背景图片有缩放动作,文字图片没有缩放

解决办法: 修改UIButton::onPressStateChangedToNormal() 方法和 UIButton::onPressStateChangedToPressed()

void UIButton::onPressStateChangedToNormal()
{
m_pButtonNormalRenderer->setVisible(true);
m_pButtonClickedRenderer->setVisible(false);
m_pButtonDisableRenderer->setVisible(false);
if (m_bPressedActionEnabled)
{
m_pButtonNormalRenderer->stopAllActions();
m_pButtonClickedRenderer->stopAllActions();
m_pButtonDisableRenderer->stopAllActions();
CCAction *zoomAction = CCScaleTo::create(0.05f, 1.0f);
CCAction *zoomAction1 = CCScaleTo::create(0.05f, 1.0f);
CCAction *zoomAction2 = CCScaleTo::create(0.05f, 1.0f);
m_pButtonNormalRenderer->runAction(zoomAction);
m_pButtonClickedRenderer->runAction(zoomAction1);
m_pButtonDisableRenderer->runAction(zoomAction2); //添加下面这些代码
CCObject *item;
CCARRAY_FOREACH(getChildren(),item)
{
UIWidget* widget = dynamic_cast<UIWidget*>(item);
widget->stopAllActions();
CCAction *zw = CCScaleTo::create(0.05f, 1.0f);
widget->runAction(zw);
}
}
} void UIButton::onPressStateChangedToPressed()
{
m_pButtonNormalRenderer->setVisible(false);
m_pButtonClickedRenderer->setVisible(true);
m_pButtonDisableRenderer->setVisible(false);
if (m_bPressedActionEnabled)
{
m_pButtonNormalRenderer->stopAllActions();
m_pButtonClickedRenderer->stopAllActions();
m_pButtonDisableRenderer->stopAllActions();
CCAction *zoomAction = CCScaleTo::create(0.05f, 1.1f);
CCAction *zoomAction1 = CCScaleTo::create(0.05f, 1.1f);
CCAction *zoomAction2 = CCScaleTo::create(0.05f, 1.1f);
m_pButtonNormalRenderer->runAction(zoomAction);
m_pButtonClickedRenderer->runAction(zoomAction1);
m_pButtonDisableRenderer->runAction(zoomAction2); //添加下面这些代码
CCObject *item;
CCARRAY_FOREACH(getChildren(),item)
{
UIWidget* widget = dynamic_cast<UIWidget*>(item);
widget->stopAllActions();
CCAction *zw = CCScaleTo::create(0.05f, 1.1f);
widget->runAction(zw);
} }
}

CocoStudio UIButton setPressedActionEnabled(true) 子控件不跟着缩放的更多相关文章

  1. Qt 控件随窗口缩放

    在Qt的界面设计中,我们有时候希望窗口在最大化的时候,上面的控件也跟着缩放,那么我们就需要调整控件的SizePolicy属性,关于这个属性的讲解请参见我之前的博客Qt SizePolicy 属性,由于 ...

  2. 记录下UIButton的图文妙用和子控件的优先显示

    UIButton的用处特别多,这里只记录下把按钮应用在图文显示的场景,和需要把图片作为按钮的背景图片显示场景: 另外记录下在父控件的子控件优先显示方法(控件置于最前面和置于最后面). 先上效果图: 1 ...

  3. UIButton内部子控件自定义布局-“UIEdgeInsets”

    UIButton UIButton做frame动画时,不响应点击 在一个View内部加入几个按钮,然后改变这个view的frame来做动画,但是按钮不响应点击事件. 问题代码 __block CGRe ...

  4. 记录下帮助一位网友解决的关于android子控件的onTouch或onClick和父OnTouch 冲突的问题。

    前三天收到位网友的私信求助,问题大概如标题所示.具体是下面的情况,个人感觉,这个问题挺有趣,也会在实际项目开发中很常见.不想看前奏的请直接跳至解决方法. 问题原型: 父控件是自定义的 LinearLa ...

  5. 浅析:点击父控件时,子控件中的textview自动进入选中状态

    原因:父控件属性android:clickable="true",而textview之类的自控件默认不可点击,没有独立的点击监听,这样选中父控件时,textview之类的子控件也进 ...

  6. iPad开发--QQ空间,处理横竖屏布局,实现子控件中的代理

    一.主界面横竖屏效果图 二.主界面加载, 初始化Dock(红色框的控件),判断程序启动时的屏幕方向.调用自己- (void)transitionToLandScape:(BOOL)isLandScap ...

  7. 解决TalbleView头部或底部子控件不显示问题

    在自定义cell头部控件UITableViewHeaderFooterView(和自定义cell的方法几乎一样)时,出现了头部控件子控件不显示的问题. 注意和自定义cell的区别. .h文件 #imp ...

  8. c# 遍历子控件,比如Form下的group,或者panel

    方法很好用.目的是遍历所有容器的子控件... 方法1private void GetControl(Control.ControlCollection ctc, ref int checkNull) ...

  9. ParentWindow属性及其一系列函数的作用——适合于那些不需要父控件管理内存释放的子控件

    TWinControl = class(TControl) property ParentWindow: HWnd read FParentWindow write SetParentWindow; ...

随机推荐

  1. Spring入门第二十七课

    声明式事务 直接上代码: db.properties jdbc.user=root jdbc.password=logan123 jdbc.driverClass=com.mysql.jdbc.Dri ...

  2. Servlet的一些细节

    由于客户端是通过URL地址访问web服务器的中的资源的,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在web.xml文件中使用<servlet& ...

  3. HDU 5862 Counting Intersections (离散化+扫描线+树状数组)

    题意:给你若干个平行于坐标轴的,长度大于0的线段,且任意两个线段没有公共点,不会重合覆盖.问有多少个交点. 析:题意很明确,可是并不好做,可以先把平行与x轴和y轴的分开,然后把平行y轴的按y坐标从小到 ...

  4. hdu1047

    #include<stdio.h>#include<string>#include<iostream>using namespace std; //高精度加法//只 ...

  5. n皇后问题_回溯法

    具体问题如下图 先看一下4*4的回溯过程 程序结束条件: 一组解:设标志,找到一解后更改标志,以标志做为结束循环的条件. 所有解:k=0 判断约束函数判断第k个后能不能放在x[k]处 两个皇后不能放在 ...

  6. js async/await

    一.async 带async关键字的函数,是声明异步函数,返回值是promise对象,如果async关键字函数返回的不是promise,会自动用Promise.resolve()包装. async f ...

  7. Java web错误汇总

    环境: 电脑:win 10 IDE: Eclipse Java EE IDE for Web Developers. Version: Luna Service Release 2 (4.4.2) B ...

  8. 洛谷P2607 [ZJOI2008]骑士

    P2607 [ZJOI2008]骑士 题目描述 Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬. 最近发生了一件可怕的事情,邪恶的Y国发动了一 ...

  9. jmeter - 函数:Random 随机函数的使用

    场景:在做接口测试时,比如说要求用户的手机号码不允许重复,那此时可以通过Random 随机函数来解决此问题: 1.在JMeter 工具中,选择{选项-函数助手对话框-} 函数助手中选择 Random ...

  10. 开发外包注意事项——iOS APP的开发

    1. APP外包的流程是怎样的? 一般外包的项目都需要经常这几个流程: 1)需求沟通:双方沟通项目的需求,对项目的可行性进行分析 2)工作量评估:在确认了项目的需求后,外包团队对项目的价钱和进度进行评 ...