具体情况是这样的:美术给了我 一个按钮的背景图片  一个按钮的文字图片,用背景图片创建一个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. GEO(Gene Expression Omnibus):高通量基因表达数据库

    Gene Expression Omnibus(GEO)是一个公共存储库,可以存档和自由分发由科学界提交的全套微阵列,新一代测序和其他形式的高通量功能基因组数据. 除数据存储外,还提供一系列基于Web ...

  2. IFrame与window对象(contentWindow)

    ref:http://blog.csdn.net/dongzhiquan/article/details/5851201 var detialIframe=document.all("det ...

  3. URAL 2018 The Debut Album (DP)

    题意:给出n长度的数列,其实1的连续个数不超过a,2的连续个数不超过b. 析:dp[i][j][k] 表示前 i 个数,以 j 结尾,并且连续了k个长度,要用滚动数组,要不然MLE. 代码如下: #p ...

  4. I18N的前后端实现

    所需工具: 1.Vue                https://cn.vuejs.org/ 2.Vue-I18N      https://www.npmjs.com/package/vue-i ...

  5. [CentOS7] systemd

    声明:本文主要总结自:鸟哥的Linux私房菜-第十七章.認識系統服務 (daemons),如有侵权,请通知博主 查看当前系统设定的服务启动脚本的类型:ls /usr/lib/systemd/syste ...

  6. Linux vim常用选项

    Vim命令 三种模式 Command Mode 命令模式 Insert Mode 插入模式 Last LineMode 底行模式 底行模式常用命令 :w 保存 :q 退出 :! + 命令 :! ls ...

  7. [poj 1837] Balance dp

    Description Gigel has a strange "balance" and he wants to poise it. Actually, the device i ...

  8. C#判断字符串是否是数字最简单的正则表达式

    if (theStr!= null)//注意加非空判断,否则报错 { System.Text.RegularExpressions.Regex rex = new System.Text.Regula ...

  9. JavaScript高级程序设计第三版-读书笔记(1-3章)

    这是我第一次用markdown,也是我第一次在网上记录我自己的学习过程. 第一章 JavaScript主要由以下三个不同的部分构成 ECMAScript   提供核心语言功能 DOM     提供访问 ...

  10. windows srver 显示桌面图标。

    rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0