ListView 怎么 开启弹性后 总有一两行被缩上去了。

:6::6::6:
if (_ViewVisibleRect.origin.x != 0 && _ViewVisibleRect.origin.y != 0 && _ViewVisibleRect.size.width != 0 && _ViewVisibleRect.size.height != 0) {
auto pos = Node::convertToWorldSpace(_ViewVisibleRect.origin);
_ViewVisibleRect.origin = pos;

            if (_ViewVisibleRect.containsPoint(t->getLocation())){
                //ok
            }
        }else{
           // ok
        }

这个 我都把坐标转成世界 坐标了。还是不行 因为 我的 那个listview 在别的层中层之中。所以要转成 世界坐标。 但还是不行。:9:
这个坑 太难解决了
如果不转 世界坐标的话 直接 用 节点空间的话 就和以前 的效果一样 不可见也能点了:12:

如果 用 节点空间判断 是不行的。
因该用世界坐标进行判断 可视 ,可是 试了 世界坐标了还是不行呀 :9:
可能是固废 listview 在层中层之中导致的吧。

转换成世界坐标思路是对的。

第一是触摸点的那个坐标是世界坐标还是相对坐标?可能你需要再转换一下。

第二是你对Listview可视区域的世界坐标转换是有问题的吧,应该是 (listView的父节点)->convertToWorldSpace(listView->pos());

你睡的挺晚的啊。。

最外层那个if判断上有问题,== 0 的情况常见吧,就是在零点的情况

        if (_ViewVisible) {
        auto ViewVisibleRect = _ViewVisible->getBoundingBox();
        
        auto pos = _ViewVisible->getParent()->convertToWorldSpace(ViewVisibleRect.origin);
        
        ViewVisibleRect.origin = pos;
            if (ViewVisibleRect.containsPoint(t->getLocation())) {
                //ok.
            }
        }else{
             //ok.
        }

:7:终于解决了太好 了:7::867:

睡的晚的问题自己也想改 。但又控制不住 想去写代码。。。
:904:
版主大大交个朋友。:856:

好的,互相学习:852:

_listView->requestDoLayout(); 布局一下就好了