位置: 编程技术 - 正文

cocos2d-x改底层之获取UIListView的实际内容大小(cocos2dx 3.17)

编辑:rootadmin

推荐整理分享cocos2d-x改底层之获取UIListView的实际内容大小(cocos2dx 3.17),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2dx怎么用,cocos2dx4.0教程,cocos2d教程,cocos2djs,cocos2d怎么样,cocos2djs,cocos2dx4.0教程,cocos2d-x教程,内容如对您有帮助,希望把文章链接给更多的朋友!

实际项目中UI界面中经常会用到UIListView,大多会在CocoStudio中直接添加这个控件。但是在使用中发现了一些坑和功能缺乏,然后就看了一下底层的逻辑,发现稍微改一下底层就可以满足需求,所以下面就针对需求来分析UIListView的底层,同时做一些改动。

需求:根据链表中的内容来动态调整listView本身的大小首先,我们要知道,我们插入和移除链表中的一项,listView本身会如何处理:

这里最后一句才是重点,只有刷新了才会真正计算新的显示,之前的改动才真正生效,所以放我们添加一项的时候,当前帧其实并没有立即刷新,如果这时候获取大小,只会和之前的一样,并没有改变,那么我们要知道,开关_refreshViewDirty是在什么时候起作用了呢,如下:

可以看到,最关键的改变大小的函数updateInnerContainerSize():

定义一个变量用来保存真实大小,原因是listView本身计算大小的结果并不是以内容为准,而是以最初用户设置的大小,那么真实的大小会被遗弃,所以我们要保存住她:

setInnerContainerSize(_actualInnerSize);这个函数是在父类定义的:

在updateInnerContainerSize函数中我们以保存了实际内容大小,需要写一个get函数来获取:

cocos2d-x改底层之获取UIListView的实际内容大小(cocos2dx 3.17)

最后实现需求:listView->setSize(getActualInnerSize())

上面是在CocoStudio中添加的UIListView控件,如果是手动创建的话有三点注意:

为了能够滚动,要实现两个条件

①:setTouchEnable(true)

②:一定要将UIListView 放入到UILayer中,只有UILayer才会监听UI系列触摸,CCLayer不可以

所以需要创建一个UILayer* layer;layer->addWidget(list);//一定是addWidget,表示以挂件形式添加,addChild不可以,最后再addChild(layer);

③:向列表中添加控件时,列表会自动排好位置,此时位置是不受手动管理的(而且位置通常不对,中心点在左上角,我们无法改变,做相对偏移等);但有时候我们为了调整位置,只能添加中间层,如UILayout,而UILayout要注意的是,它相当于一个层,坐标计算和层一样。

Cocos2dx 实现擦除 橡皮擦 刮奖 效果的实现 转载自

cocos2d 颜色混合 ccBlendFunc 使用方法 本节参考:

(1)cocos2d-x-2.2.4搭建windows开发环境 Cocos2d-x-2.2.4搭建windows环境软件需求Windows系统(windows7或之后的系统);cocos2d-x-2.2.4压缩包;python安装包(推荐使用2.7.3版本);文本编辑工具(不推荐

标签: cocos2dx 3.17

本文链接地址:https://www.jiuchutong.com/biancheng/368812.html 转载请保留说明!

上一篇:cocos2dx 按钮重复渐变效果的实现(cocos2dx scrollview)

下一篇:Cocos2dx 实现擦除 橡皮擦 刮奖 效果的实现(cocos2d drawcall)

  • 劳保用品发放制度文件
  • 只有费用没有收入成本怎么填所得税
  • 工程招标费计入什么科目
  • 土地出让金计算方法
  • 商业企业销售的商品遭受损失的赔偿依据
  • 外购固定资产的计税基础
  • 营改增后建筑施工税率调整变化
  • 防洪费2019年税率
  • 营改增后租金如何交税
  • 防伪税控维护费会计分录
  • 年薪12万如何申报个人所得税
  • 个体工商户餐饮业税率是多少
  • 固定健身器械使用方法
  • 发放股票股利后的未分配利润怎么算
  • 企业支付在哪里
  • 受托加工物资算资产吗
  • 租用服务器会泄漏数据吗
  • 华为鸿蒙os2.0发布
  • 购买方已认证的专票怎么红冲
  • 汇算清缴期业务包括哪些
  • 如何解决WIN10系统文件夹只读属性不能更改
  • perl.exe是什么程序?
  • 微软2003系统
  • 涅迪克角灯塔上的节日彩灯,缅因州 (© Walter Bibikow/Alamy)
  • div+css导航栏
  • 世界上最完美的犯罪
  • 浅谈建筑地基基础加固施工技术亲
  • 累计折旧累计摊销属于现金流吗
  • 资产负债表各项目的填列依据是
  • 研发费用如何做加计扣除
  • 固定资产清理的金额怎么算
  • 家居办公装修
  • 去年发生了什么
  • c语言fseek函数
  • 工会保障工作的主要任务有哪些
  • python创建ndarray
  • 经营活动现金流量比率
  • sql2008怎么查询
  • 公司承担员工的个税怎么做账
  • 年终奖可以税前扣除吗
  • 结转上年
  • 制造费用期末要结转吗
  • 运输费属于生产成本还是制造费用
  • 普票部分红冲发票需要收回原发票吗
  • 年底存货反映了什么
  • 公司收到财政局奖励怎么记账
  • 应交税费要计提吗?
  • 主营业务成本为什么属于损益类科目
  • 成本法核算的投资收益缴纳企业所得税
  • 银行收的账户管理费
  • 奖金如何做账分录
  • 股权变更需要做账吗
  • 固定资产清理包括什么会计科目
  • 会计 预提
  • 新单位怎么建账
  • sql事务处理
  • kali linux 视频教程
  • 一键ghost还原备份
  • win8在哪里卸载软件
  • 如何关闭windows防护
  • mac安装软件提示无法检查更新
  • win10预览版和正式版区别
  • 怎么提高局域网安全
  • windows10 14393版本
  • win7开机每次都要输入用户名
  • nodejs创建vue
  • css兼容浏览器
  • 如何大小写字母转换
  • 浅谈python装饰器探究与参数的领取
  • javascript中br
  • jquery元素选择器有哪些
  • JavaScript中的this指向
  • javascrapt
  • 利用html css javascript做一个网页
  • 企业所得税报错了税款扣了可以改吗
  • 吉林省耕地占用税实施办法
  • 地税官网怎么登录
  • 税务审理工作总结
  • 分红太多
  • 海口税务服务大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设