解决方法:使用Button时,先让按钮setSwallowTouches(false),再判断View滑动状态,如果界面开始滑动设置状态为true,如果界面停止滑动设置状态为false,再根据状态来判断按钮是否可以点击
m_bListViewScroll = false;
//设置界面滚动状态;
m_pListView->addEventListener(ui::ScrollView::ccScrollViewCallback([=](Ref* sender, ui::ScrollView::EventType type){
if (type == ui::ScrollView::EventType::SCROLLING)
{
m_bListViewScroll = true;
}
else if (type == ui::ScrollView::EventType::SCROLLING_ENDED)
{
m_bListViewScroll = false;
}
}));
auto headBtn = Button::create("abc.png", "abc.png", "", Widget::TextureResType::PLIST);
headBtn->setPosition(Vec2(60.f, cellSize.height / 2));
headBtn->setSwallowTouches(false);
headBtn->addClickEventListener([=](Ref* pSender){
if (!m_bListViewScroll)
{
CCLOG(“123”);
}
});
m_pSpriteBg->addChild(headBtn);