TabHeader不能点击的问题

在Cocos2dx最新版本中(cocos2dx3.13)中,增加了控件TabControl
例子:

    auto tab = ui::TabControl::create();
    tab->setContentSize(Size(400.f, 400.f));
    tab->setHeaderHeight(100.f);
    tab->setHeaderWidth(200.f);
    tab->setHeaderSelectedZoom(.1f);
    tab->setHeaderDockPlace(ui::TabControl::Dock::TOP);

    auto header1 = ui::TabHeader::create("cross1", "check_box_normal_disable.png", "check_box_active.png");
    header1->setTitleText("background");
    auto header2 = ui::TabHeader::create("cross2", "check_box_normal_disable.png", "check_box_active.png");
    auto header3 = ui::TabHeader::create("cross3", "check_box_normal_disable.png", "check_box_active.png");

    auto container1 = ui::Layout::create();
    container1->setOpacity(255);
    container1->setBackGroundColorType(ui::Layout::BackGroundColorType::SOLID);
    container1->setBackGroundColor(Color3B::GRAY);
    container1->setBackGroundColorOpacity(255);
    auto container2 = ui::Layout::create();
    container2->setBackGroundColorType(ui::Layout::BackGroundColorType::SOLID);
    container2->setOpacity(255);
    container2->setBackGroundColor(Color3B::BLUE);
    container2->setBackGroundColorOpacity(255);
    auto container3 = ui::Layout::create();
    container3->setBackGroundColorType(ui::Layout::BackGroundColorType::SOLID);
    container3->setOpacity(255);
    container3->setBackGroundColor(Color3B::RED);
    container3->setBackGroundColorOpacity(255);

    tab->insertTab(0, header1, container1);
    tab->insertTab(1, header2, container2);
    tab->insertTab(2, header3, container3);

    tab->setSelectTab(2);
    addChild(tab);

但这里有个问题,如果TabControl加入到包含屏蔽Touch的层中,TabHeader无法点击。
其原因是在函数insertTab中,TabHeader是使用
addProtectedChild(header, -2, -1);
加入到TabControl中的,如果改为addChild就正常了,其深层原因我还没有仔细研究!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

峻峰飞阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值