UIListView下拉的时候没出来就消失了0.0

用UIListView做一个信息箱 往上拖的时候正常,往下拖的时候为什么拖不出来了?
请问是我的坐标设置的有问题么?
谢谢~0.0

代码:
//获得消息页面
systemMsgLayer = UILayer::create();
systemMsgUi = GUIReader::shareReader()->widgetFromJsonFile(“FKMJ_Win_SystemMessage/FKMJ_Win_SystemMessage.ExportJson”);
systemMsgLayer->addWidget(systemMsgUi);
this->addChild(systemMsgLayer, 20);

//获得消息信息模板
m_panelMSG=dynamic_cast<UIPanel*>(systemMsgLayer->getWidgetByName(“Panel_2”));
m_panelMSG->setVisible(false);

CCSize widgetSize=CCDirector::sharedDirector()->getWinSize();

m_msgCount = 0;
m_msgarray = CCArray::create();
m_msgarray->retain();
for (int i = 0; i < 25; ++i)
{
CCString* ccstr = CCString::createWithFormat(“object_%d”, i);
m_msgarray->addObject(ccstr);
}

UIListView listView = UIListView::create();
listView->setTouchEnable(true);
listView->setBackGroundImageScale9Enabled(true);
// listView->setBackGroundImage(“HelloWorld.png”);
listView->setSize(CCSizeMake(660, 390));
listView->setPosition(ccp(220,widgetSize.height
0.2));

float listWidth = listView->getRect().size.width;
float listHeight = listView->getRect().size.height;

for (int i=0;i<5;i++)
{
UIPanelmsg2=dynamic_cast<UIPanel>(m_panelMSG->clone());
msg2->setVisible(true);

UIButtonbutton=dynamic_cast<UIButton>(systemMsgLayer->getWidgetByName(“Button_6”));
CCString*str=CCString::createWithFormat(“MSG:%d”,i);
button->setTitleText(str->getCString());

CCLOG("%d",i);

UILayout *layout = UILayout::create();
layout->addChild(msg2);
layout->setName(CCString::createWithFormat(“panel_%i”, i)->getCString());

CCSize panel_size = layout->getRect().size;
layout->setSize(CCSizeMake(msg2->getRect().size.width, msg2->getRect().size.height));
layout->setPosition(ccp(-200,listHeight - (msg2->getPosition().y*0.5)*i));

listView->addChild(layout);

}

listView->addEventListenerListView(this,listvieweventselector(GameScene::MSGUPDATEContent));

listView->initChildWithDataLength(m_msgarray->count());

systemMsgLayer->addWidget(listView);

//UIListview回调
//刷新信息显示信息
void GameScene::MSGUPDATEContent(CCObject *pSender, ListViewEventType type){
switch (type)
{
case LISTVIEW_EVENT_INIT_CHILD:
{

CCLOG(“1111111111111111111”);
CCString* ccstr = static_cast<CCString*>(m_msgarray->objectAtIndex(m_msgCount));
UIListView* list = dynamic_cast<UIListView*>(pSender);

UILayout* layout = dynamic_cast<UILayout*>(list->getUpdateChild());
UITextButton* textButton = dynamic_cast<UITextButton*>(layout->getChildByName(“Button_6”));
textButton->setText(ccstr->getCString());

m_msgCount++;
}
break;

case LISTVIEW_EVENT_UPDATE_CHILD:
{

CCLOG(“22222222222222222”);
UIListView* list = dynamic_cast<UIListView*>(pSender);
int index = list->getUpdateDataIndex();
CCLOG(“index:%d”,index);
CCLOG(“list->getDataLength():%d”,list->getDataLength());
if (index < 0 || index >= list->getDataLength())
{
list->setUpdateSuccess(false);
return;
}

CCString* ccstr = static_cast<CCString*>(m_msgarray->objectAtIndex(index));
UILayout* layout = dynamic_cast<UILayout*>(list->getUpdateChild());
UITextButton* textButton = dynamic_cast<UITextButton*>(layout->getChildByName(“Button_6”));
textButton->setText(ccstr->getCString());
list->setUpdateSuccess(true);
}
break;

default:
break;
}

}