• cocos2dx 某缩放的页面 CCTableView最后一个标签无法点中


    有一个二级界面,在ipad4下面放大到1.6倍,直接对最外层的CCLayer缩放的,里面包含有CCTableView。结果运行的时候无法选中到最后一个标签,无论总的标签是2个还是更多,单步调试,发现到ccTouchEnded的时候判断的点击范围有问题,修改成下面的就好了。具体原因没有时间解释了,大家看看估计也明白了。

    原:

    void CCTableView::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent)
    {
        if (!this->isVisible()) {
            return;
        }
    
        if (m_pTouchedCell){
            CCRect bb = this->boundingBox();
            bb.origin = m_pParent->convertToWorldSpace(bb.origin);
    
            if (bb.containsPoint(pTouch->getLocation()) && m_pTableViewDelegate != NULL)
            {
                m_pTableViewDelegate->tableCellUnhighlight(this, m_pTouchedCell);
                m_pTableViewDelegate->tableCellTouched(this, m_pTouchedCell);
            }
    
            m_pTouchedCell = NULL;
        }
    
        CCScrollView::ccTouchEnded(pTouch, pEvent);
    }

    新:

    void CCTableView::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent)
    {
        if (!this->isVisible()) {
            return;
        }
    
        if (m_pTouchedCell){
    
            CCPoint touchLocation = pTouch->getLocation(); // Get the touch position
            touchLocation = m_pParent->convertToNodeSpace(touchLocation);
    
            CCRect bb = this->boundingBox();
            //bb.origin = m_pParent->convertToWorldSpace(bb.origin);
    
            if (bb.containsPoint(touchLocation) && m_pTableViewDelegate != NULL)
            {
                m_pTableViewDelegate->tableCellUnhighlight(this, m_pTouchedCell);
                m_pTableViewDelegate->tableCellTouched(this, m_pTouchedCell);
            }
    
            m_pTouchedCell = NULL;
        }
    
        CCScrollView::ccTouchEnded(pTouch, pEvent);
    }
  • 相关阅读:
    【Golang】golang文本处理
    【Golang】golang中临时对象池sync.Pool
    WebSocket介绍
    【Linux】linux常用命令操作整理
    【PHP】php7新特性及其优化原理
    【Mysql】MySQL集群方案之PXC(percona xtradb cluster)
    【Linux】线上服务器要关注哪些参数
    service自动发现,yaml文件管理内外部端口访问
    service代理模式及负载均衡
    SET NLS_LANG=AMERICAN_AMERICA.AL32UTF8
  • 原文地址:https://www.cnblogs.com/lan0725/p/3504204.html
Copyright © 2020-2023  润新知