具体情况是这样的:美术给了我 一个按钮的背景图片  一个按钮的文字图片,用背景图片创建一个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. Ubuntu12.04更新出现 The system is running in low-graphics mode解决方法

    这两天都困在这个问题上. 感谢:http://blog.chinaunix.net/uid-26748719-id-3780062.html 原因:显卡没驱动起来 解决方法: sudo apt-get ...

  2. Eclipse提交svn错误svn E210003 connection refused by the server

    错误明细: org.apache.subversion.javahl.ClientException: svn: E210003: connection refused by the server o ...

  3. Django 之 logging

    1. logging 1.1 什么是 logging logging 模块是 Python 内置的日志管理模块,不需要额外安装. 使用: import logging logging.critical ...

  4. 没有定义json_encode()函数。

    php5是没有json扩展的,需要自行下载. 命令php -m 可以查看安装了哪些扩展. 1.修改php.ini 在php.ini 中加入 extension=json.so:sudo vi /etc ...

  5. Mysql:主从集群配置

    我这里是去网易蜂巢取得镜像:https://c.163yun.com/hub#/m/home/ 命令:docker pull hub.c.163.com/library/mysql:latest 拉取 ...

  6. java排序算法(持续更新)

    package exception; import java.util.Arrays; public class Sort { public static void main(String[] arg ...

  7. HyperLedger Explore 浏览器配置启动教程

    Hyperledger Fabric维护的实际上是一个区块链网络.为了能够直观的观察网络上的节点,交易等行为,Hyperledger Explore随之诞生. 本文讲述如何搭建 Hyperledger ...

  8. jsp内置对象request使用方法2

    <%@page import="java.text.SimpleDateFormat"%> <%@page import="java.util.Date ...

  9. POJ1044 Date bugs

    题目来源:http://poj.org/problem?id=1044 题目大意: 与众所周知的”千年虫“类似,某些计算机上存在日期记录的bug.它们的时钟有一个年份周期,每当到达最大值时,就会自动跳 ...

  10. python之Selenium库的使用

    一  什么是Selenium selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并 ...