ListView 怎么 开启弹性后 总有一两行被缩上去了。
比如
正常 是 可以显示
美 国
中 国
中 国
但开启弹性后。只显示
中 国
中 国
美国被吃了?。 其实没有。向下拉就能显示了。 尼玛 我看到美国了。松开鼠标先。。。草 美国不见了。 被强制的缩上去了。
难道一定要 widget 的Size 不能设置 高度为 美国两个字的 高度?一定要 加大到 50 至 100才能 不被强制缩上去?

ListView 怎么 开启弹性后 总有一两行被缩上去了。
比如
正常 是 可以显示
美 国
中 国
中 国
但开启弹性后。只显示
中 国
中 国
美国被吃了?。 其实没有。向下拉就能显示了。 尼玛 我看到美国了。松开鼠标先。。。草 美国不见了。 被强制的缩上去了。
难道一定要 widget 的Size 不能设置 高度为 美国两个字的 高度?一定要 加大到 50 至 100才能 不被强制缩上去?

应该是你内容器的contentsize没有算对。
调用一下listView的 refreshView()
Layout 的 还是 ListView 的SIze?
没用过ListView但感觉跟ScrollView差不多。。
等我 晚上回家给你画个图理解一下,如果你还没解决的话。。
嗯 等你晚上的结果 不行就换 ScrollView
我是找不到错误 了。。。
解决了。。。竟然 是 widget 的pos不让设置只能 永久的。。。为0 =- =唉又一大坑
good for you
坑太多了。。。四处埋雷啊。。。
对了问个问题 在 ListView中 cocos2d::extensionui::Button 这个按钮他是怎么判断点击的。 怎么 我自己封装的Button用以下 方法判断 是否点击了按钮 ,结果是全部按钮都响应为点击状态了。。。
listener->onTouchEnded = =](Touch *t,Event *e){
if (this->getBoundingBox().containsPoint((t->getLocation())) {
// 此处省略一堆代码
log(“点击了”);
}
}
详细在这个贴:http://www.cocoachina.com/bbs/read.php?tid-278558.html
:867:
this->getcontainspoint换成e->getCurrentTargeet
if (e->getCurrentTarget() == this) {
是这样吗?

学习了。= =
auto target = static_cast<UIButton*>(e->getCurrentTarget());
auto locationInNode = target->convertToNodeSpace(t->getLocation());
auto s = target->getContentSize();
auto rect = Rect(0, 0, s.width, s.height);
if (rect.containsPoint(locationInNode)) {
这样就可以 了。。。 
对,感觉楼主是从2.x进化来的。
差不多一路都是看的 2.X 文章。
額用了那么久这个 方法之后 发现 了个 Bug。。。
Listview 中的看不见的区域 这个 方法也能 触发到按钮的事件。。。
如下图: - -!
---------------------------------- 上面 这个 区域是 看不见的
|---------------|-
| 按钮一 |
|---|
|---------------|-
| 按钮二 |
|---|
--------------------------------- 下面这个 区域是看不见的
|---------------|-
| 按钮三 |
|---|
| --------------- |
| 按钮四 |
| --------------- |
当点击 区域看不见的按钮也能触发到 点击事件 。
当 我滚动了列表 后是这样的
|---------------|-
| 按钮一 | --按钮一也响应了。。。
|---------------|
---------------------------------- 上面 这个 区域是 看不见的
|---------------|-
| 按钮二 |
|---|
|---------------|-
| 按钮三 |
|---|
--------------------------------- 下面这个 区域是看不见的
|---------------|-
| 按钮四 | – 这里也响应了。
|---------------|
就是这个方法
auto target = static_cast<UIButton*>(e->getCurrentTarget());
auto locationInNode = target->convertToNodeSpace(t->getLocation());
auto s = target->getContentSize();
auto rect = Rect(0, 0, s.width, s.height);
if (rect.containsPoint(locationInNode)) {
目前没找到解决办法 求助
拿到Target后和ListView可视区域做个containsPoint
这样按钮就不单一了。。。只能 用这个 方法吗
if (_ViewVisible) {
if (_ViewVisible->getBoundingBox().containsPoint(Node::convertToNodeSpace(t->getLocation()))) {
//执行鼠标事件。
}
}
_ViewVisible 就是 listview
上面的代码不行呀= =
版主大大。。。求解决办法 = =。。。卡了这么多天了。

哦? 我是说叫你和listView的可视区域做containspoint。。
CCRect listVisibleRect = CCRectMake(listview.positon.x, listview.position.y, listviewVisibleSize.width, listviewVisibleSize.height)
listVisibleRect.containsPoint(touchPoint)