微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cocos2D游戏项目CCTableView在Xcode7.2下的无法滚动问题

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)

一个RPG游戏转换到Xcode7.2下发现一个问题,原来可以上下滚动的CCTableView控件现在不可以滚动了.

控制台中可以看到输出的警告:

WARNING: A Gesture recognizer (<CCTapDownGestureRecognizer: 0x611000042e40; baseClass =
 UIGestureRecognizer; state = Possible; view = <CCGLView 
<CCTableView 0x616000030380>)>>) was setup in a storyboard/xib to be added to more than one view (->
<CCGLView: 0x61500000d500; frame = (0 0; 568 320); 
gestureRecognizers = <NSArray: 0x6040000c4850>; layer = 
<CAEAGLLayer: 0x603000013840>>) at a time,this was never
 allowed,and is Now enforced. Beginning with iOS 9.0 it 
 will be put in the first view it is loaded into.

貌似在iOS 9.x后原来可以在多个view中添加的手势识别器只能在第一个视图中起作用了,估计是CCTableView中使用了这个特性.

深入Cocos2D代码修改,目前还没有这个精力,遂采用变通方法,在CCTableView旁边加入一个滚动条来实现滚动效果.

有2种添加滚动条的方法,你可以在SpriteBuilder中的添加:

你也可以在代码中手动添加,后者的自由度更高些,本猫采用后一种方法,实现效果如下:

而原来在iOS 9之前的系统中,滚动是有效的,所以可以根据系统自动显示或隐藏滚动条以实现最佳效果.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐