切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
Cocos2d-x
cocoStudio:ScrollView控件使用记录(2)
cocoStudio:ScrollView控件使用记录(2)
2019-05-18
Cocos2d-x
前端之家
前端之家
收集整理的这篇文章主要介绍了
cocoStudio:ScrollView控件使用记录(2)
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
cocoStu
dio
:ScrollView控件使用记录(2) 在
上一篇
文章
中已经分析了使用ScrollView的一些问题,那么这一篇提供一些
解决方
案: 1、 默认情况下scrollView的滚动区域大小和scrollView的大小(可视区域)相同, 我们可以通过getInnerContainerSize
方法
获取
滚动区域大小,然后把我们的子控件 从上往下加即第一个控件坐标getInnerContainerSize.height, 第二个控件位置为getInnerContainerSize.height 减去一个值,下面的控件坐标就依次往下递减,这里只考虑Y轴方向,然后根据所
添加
的所有控件 计算出一个高度,然后通过setInnerContainerSize
函数
,设置ScrollView滚动区域的大小,如果
添加
的控件 高度大于最初的滚动区域高度,就不行,如果不大于,就可以。 针对大于按照上面
方法
不行的这种情况,我们可以根据
添加
的控件高度和原始滚动区域高度计算一个偏移量Offset, 然后把我们
添加
到scrollView中所有的子控件Y方向坐标
加上
这个偏移。然后使用setInnerContainerSize
方法
把scrollView的大小设置为我们实际
添加
的所有子控件高度。 注:我们这里假设scrollView的滚动区域大小和scrollView的大小(可视区域)相同,在使用过程中我就遇到 因为这个导致
显示
位置不正确的情况,因为我的scrollView中的
内容
需要根据级别
显示
不同的
内容
,开始时 我只是把scrollView中的子控件都移除了,但是并没有改变InnerContainerSize即滚动区域大小,所以 再次
添加
新的
内容
时,scrollView滚动区域大小仍然是上一次我们设置的大小,这样就会导致计算偏移量不对, 所以我们要在重新
添加
新的
内容
之前,把滚动区域大小设置为可视区域大小。 local scrollViewSize = scrollView:getContentSize() scrollView:setInnerContainerSize(scrollViewSize) 2、 我们可以在
添加
scrollView
内容
之前,先根据
添加
内容
的个数,每个Item的大小,还有间距, 计算出scrollView的滚动区域大小,然后在使用上面的
方法
进行
添加
,这种比较适合那种每个 item高度相同并且确定的情况,如
邮件
中的每封
邮件
,其实这里的scrollView是当成了listview 使用。 注:使用这种方式有一点需要注意,就是如果
内容
的高度小于scrollView的大小,这里即使设置 滚动区域大小也是没有意义,因为可视区域大小最小等于scrollView大小, 这里也是默认scrollView的滚动区域和scrollView的大小相同,这种情况计算每个Item的位置时, 最好使用scrollView的滚动区域大小为基准。 3、 我们可以在cocoStu
dio
中把scrollView的滚动区域大小设置为一个很大的值,也就是根本达不到的 值,然后根据1的
方法
计算一个偏移量,这里偏移量的计算方式不同,不过思路相同。 4、 采用倒序
添加
的方式,如
邮件
系统,先把最后一封
邮件
添加
在0的位置,我们只考虑Y轴方向, 然后倒数第二封
邮件
添加
到最后一封
邮件
的上面,依次类推,
添加
完成后,在根据
内容
设置滚动 区域大小。 注:这里也有一个问题,就是如果
内容
的高度小于scrollView的高度,那么就会出现
邮件
靠近
底部
显示
,而不是靠近顶部
显示
,也是要计算一个偏移量。 总结: 其实上面提供的所有
方法
都是因为scrollView内部的滚动层的锚点是0,0,而且滚动层
内容
必须 靠顶部
显示
,而且只有在0之上的
内容
才可以看到,而且上面提供的方案都只是针对上下 滚动的情况,没有考虑横向滚动。
上一篇:cocos2dx中CCAssert
下一篇:Cocos2d-x数据模块
猜你在找的Cocos2d-x相关文章
创建自定义的Cocos2d-x场景
操作步骤 1、创建cocos2d-x工程 2、新建 Scene1.cpp Scene1.h Scene1.h代码 #ifndef __SCE...
作者:前端之家 时间:2021-01-27
给vs2010安装上cocos2d-x的模版
开发环境:OS(WINDOWS 8.1 X64 企业版) cocos2d-x 2.2.1 vs2010 想给vs安装上cocos的模版,...
作者:前端之家 时间:2021-01-27
Python创建Cocos2d-x 2.2方法
把创建项目做成一个批处理,当创建项目时可以省时省力很多。 操作步骤 1、在 E:cocos2d-x-...
作者:前端之家 时间:2021-01-27
cocos2dx 物理碰撞
https://www.cnblogs.com/JiaoQing/p/3906780.html 四个响应函数 1 EventListenerPhysics...
作者:前端之家 时间:2020-08-06
cocos2d-js 自定义事件监听派发
转载于 http://www.cnblogs.com/kenkofox/p/3926797.html 熟悉js的dom事件或者flash事件的...
作者:前端之家 时间:2020-08-06
cocos常用 实用 公共函数 lua代码
公共资源加载,缓存retain;防止被自动销毁 2. 数字滚动递增;用于得奖后,总金币跳动增加...
作者:前端之家 时间:2020-08-06
cocos creator box2d
title Map 使用box2d var sfloors = this.tiledMap.getObjectGroup(‘Special_Floor‘).g...
作者:前端之家 时间:2020-08-06
(转)让quick-cocos2d-x支持加密的plist文件
前篇:quick-cocos2d-x图片资源加密 在前篇里面,我们实现了图片资源的加密,但还没有实现...
作者:前端之家 时间:2020-08-06
(转)quick-cocos2d-x图片资源加密(续)
摘要: 对在quick-cocos2d-x上实现的资源加密方法的补充 前篇: quick-cocos2d-x图片资源加...
作者:前端之家 时间:2020-08-06
Cocos Creator 动态改变sprite图片
首先将存放图片最外层文件夹命名为resources changeBj: function(){ var url...
作者:前端之家 时间:2020-08-06
编程分类
iOS
Android
Swift
Hybrid
Cocos2d-x
Flutter
Xcode
Silverlight
cocoa
Cordova
最新文章
• 创建自定义的Cocos2d-x场景
• 给vs2010安装上cocos2d-x的
• Python创建Cocos2d-x 2.2方
• cocos2dx 物理碰撞
• cocos2d-js 自定义事件监听
• cocos2dx 分帧加载
• cocos常用 实用 公共函数
• cocos creator box2d
• (转)让quick-cocos2d-x支
• (转)quick-cocos2d-x图片
热门标签
更多 ►
调试桥
筛选栏
假异步
不会丢失
AndPermissio
权限申请
抽屉式
systemUI
信号栏
多行排列
跨多行显示
viewmode
数据共享
录制语音
视频通话
多行显示
Studio3.5
拉伸控件
望远镜
发动态
走势图
点赞控件
显示牌
冷启动
v3签名
v2签名
v1签名
本地html
外接键盘
流式标签