使用Lua语言,编译器是cocos-code ide。cocos2dx 3.2版本,用到了tableview控件,可是就是无法设置每个cell之间的间距,不管怎么设置cell的宽高,cell的间距总是很大,请问如何把每个cell的间距设置为如下效果图上的效果,各位大神帮帮忙啊。代码部分和图片已经上传,拜谢了。
效果图:
代码:
LuaTest.zip (704 KB)
使用Lua语言,编译器是cocos-code ide。cocos2dx 3.2版本,用到了tableview控件,可是就是无法设置每个cell之间的间距,不管怎么设置cell的宽高,cell的间距总是很大,请问如何把每个cell的间距设置为如下效果图上的效果,各位大神帮帮忙啊。代码部分和图片已经上传,拜谢了。
效果图:
代码:
LuaTest.zip (704 KB)
以我对tableview的经验, 设置cell间距的办法就是,将cell的宽(或高, 取决于你需要的间距类型),设置为地板的宽+间距,设置底板的AnchorPoint为0点,位置为CCPointZero,这样单元格之间就会空出间距。
之后有个小问题就是最上面的单元格与viewSize的边缘也会出现一个你设置的间距的宽度的缝隙,如果不需要这个缝隙,你就需要设置一下tableview的container的position。 完全取决于你的需要。
谢谢大牛。我现在是每一个cell上布局2个按钮,一行就是一个cell,就如图上所示,然后上下滑动。现在想把每个cell之间上下空出15个像素左右的间距。我在代码里设置cell的高度为:
按钮的高度 + 15 ,但是出来效果还是上下2行之间有非常大的间距,远远超过15。不知道是怎么回事,请教大牛。
在设置宽高函数中
function RoleLayer.cellSizeForTable(table, idx)
return 高,宽 --120,740
end 这样设置就可以达到你图示效果
楼上说的是对的,上述方法就是控制图中红色方框的宽高。 你需要做的就是把这个高设置的比你的美术资源底板高出一些,作为间距。
方法中的idx代表第几个cell,也就是说你在这个方法里可以通过判断idx,来为不同的cell设置不同的大小。
如果你在一个cell里放置两个item,会出现触摸问题。。。
当你点击某个Item时,tableCellTouched(CCTableView *talbe, CCTableViewCell *cell) 返回的是cell,而不是你设置的item,
因此你在判断用户到底是点击了左边的item还是右边的item可能会出现问题。
又如果你放进tableview的东西是一整个Menu, 又会出现用户touchbegan如果点到了某个item, 那么tableview就不能再响应滚动了。
总之… Scrollview相关的控件并不是很方便,需要额外的代码完善。
cocos2d-x KO榜交流群
技术交流群,欢迎大家加入,共同探讨进步,不管你是刚入门在菜鸟,还是已经上路的大神,在这里,我们一起成长!群号361211771,也可以点击链接加入群【cocos2d-x KO榜】:http://jq.qq.com/?_wv=1027&k=JPz0JS
嗯,谢谢大牛。这个问题,解决了。cellSizeForTable这个函数,第一个返回的是高度,第二个返回的是宽度,我之前貌似是弄反了,先返回宽度,后返回高度。另外,在请教兄弟个问题,我用ccui里的listview这个控件,点下某个按钮就往ListView里添加一行新的数据,现在想在添加一行新数据后,默认滚动到新添加的那一行,请问该怎么实现?拜谢。
这个我也没研究过 。。。。。。。。。。