m_uiLayer = UILayer::create(); UIWidget *m_uiLayerWidget = GUIReader::shareReader()->widgetFromJsonFile(shopBlackPath"ui_layout_shop_black.json"); CCAssert(m_uiLayerWidget,""); m_uiLayer->addWidget(m_uiLayerWidget); this->addChild(m_uiLayer,1); m_uiLayer->setTouchPriority(1);2、必须把CCtableView里面的layer的优先级设置为2,。防止穿透点击tableView里面的按钮。
CCTableViewCell* ShopBlackLayer::tableCellAtIndex(CCTableView *table,unsigned int idx) { CCTableViewCell *cell = table->dequeueCell(); if (!cell) { // the sprite cell = new CCTableViewCell(); cell->autorelease(); } else {cell->removeAllChildrenWithCleanup(true);} UIWidget *widget = m_cellWidget->clone(); widget->setTag(idx); UILayer *layer = UILayer::create(); layer->addWidget(widget); layer->setTouchPriority(2); cell->addChild(layer); return cell; }
3、必须把Panel_top和Panel_bottom的渲染层级设置为0,而把其他需要接受点击的按钮的渲染层级设置为比Panel。这样就把屏蔽了tableview的点击穿透了。Panel_top设置为可交互。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。