cocos-Lua-tableview的一些问题记录

本文记录了在使用cocos2d-x Lua的tableview组件时遇到的两个主要问题:1. 当cell内的按钮面积较大时,滑动容易因按钮触摸事件失效。解决方案是设置按钮的`setSwallowTouches(false)`,防止其吞噬滑动触摸。2. tableview滑动到不可见区域时,按钮仍然能被触摸激活,这是一个官方未修复的bug。为解决此问题,可以自定义一个layer,结合触摸判断和变量来避免错误触发。
摘要由CSDN通过智能技术生成

1:tableview里面的cell有比较多而且面积比较大的按钮的时候,滑动容易失效。因为按钮的触摸屏蔽了tableview的滑动触摸,所以可以在cell里面的按钮,设置按钮的吞噬触摸失效。而因为吞噬触摸失效带来的问题,自己可以通过一些变量来达到目的。一些代码如下:

propRect:setSwallowTouches(false) --设置吞噬失效 propRect是按钮的名字

propRect:addTouchEventListener(function (sender,eventType)
              if eventType == ccui.TouchEventType.ended then    --可以在ended、began里操作
                   if LuckyShopLayer._bDrag or LuckyShopLayer._bDrag2 or LuckyShopLayer._bDrag3 then  --因为吞噬失效设置的一些变量(和第二点有联系)
                       	LuckyShopLayer._bDrag2 = false
                        LuckyShopLayer._bDrag3 =false
                        return
                   end
                    LuaInterFace.PlayerEffect("Sound.bundle/Bt_Press.mp3")  --播放音效的接口
                    LuaInterFace.ShowPropDescribe(propId)   --弹出介绍框的接口
              end
 end)

2:tableview里面,设置按钮之后,滑动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值