cocos2dx 中cocos2d::ui::ListView的坑


ListView可以自動排版,因此用起來比較省力。但是有一個需要注意的地方:
如果要把元素刪除,不可以調用元素的removeFromParent,而需要調用ListView::removeChild()

為什么呢?因為元素放進ListView以后,實質上是成為ListView內部innerContainer的child,此時如果調用元素的removeFromPrarent,則只會調用innnerContainer的removeChild,沒有調用ListView的重寫版本。再重寫版本中有重要的邏輯代碼,沒有調用到。

后果就是,元素刪除后,ListView的大小並沒有隨之改變,如果經常增刪元素,會看到ListView不停的變長。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM