位置: 编程技术 - 正文

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)

  • 递延所得税资产怎么计算
  • 出口货物退免税政策
  • 境外培训费计入关税完税价格
  • 个体工商户年报网上申报入口
  • 企业购买银行理财的条件
  • 利息收入属于主体收入吗
  • 税控设备发行是什么行业
  • 城市维护建设税怎么做分录
  • 经济合同
  • 企业期货投资收益税务案例
  • 承包费收入如何交增值税
  • 付佣金给客户怎么做分录?
  • 居民企业分红免征企业所得税分录
  • 进项转出滞纳金规定
  • 四季度企业所得税怎么报
  • 免税发票可以抵多少税
  • 小规模纳税人增值税怎么算
  • 企业收到供货单位提供的材料
  • 个人独资企业还是个体户好
  • 调整以前年度损益调整汇算清缴
  • 废料出售收入
  • 房产税具体税种包括哪些
  • 如何快速修复
  • 成本费用包括什么项目
  • 如何解决Windows10电脑卡顿现象
  • php get post
  • win10电源管理器在哪
  • 取得专票怎么结转销售成本
  • 小微企业免教育附加
  • cuda安装步骤
  • 微信小程序开发公司
  • php通讯
  • 数据库arc文件
  • 汇算清缴补交所得税怎么做凭证
  • php数据库网址
  • 提供加工劳务怎么开票
  • 专利权研发成功的会计分录
  • 异地提供建筑服务预缴
  • 所得税费用会计处理
  • 企业从政府取得的非货币资产应该按照什么计量
  • 工商年报资产状况纳税总额怎么填
  • 汇算清缴的费用标准 中汇
  • 代购进口货物垫付方案
  • mysql的long类型
  • 合同资产和合同负债的区别
  • 怎么对外投资
  • 预计负债的账务处理
  • 公司土地被征收怎么办
  • 收入的确认条件包括
  • 库存现金的主要内容有哪些
  • 电费发票未到怎么入账
  • 加大固定资产投资
  • sql删除多条记录
  • mysql jdbc
  • 如何删除windows.old
  • 如何在ubuntu下安装和配置gcc并用C语言
  • ubuntu /opt
  • 一键ghost U盘版
  • 如何在vmware虚拟机中安装macos11.0
  • windows8_os
  • win7系统配置怎么设置
  • win10重置系统快捷键
  • linux防火墙命令大全
  • w10系统每次启动都要选择系统
  • unity 读取xml文件
  • perl数组元素个数
  • Begin OpenGL with Python-1st Day,draw a simple sample.
  • jquery删除table行
  • javascript XMLHttpRequest对象全面剖析
  • Unity Enemy behaviour
  • 电脑兼容ie
  • jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
  • 个税纳税证明在哪里开
  • 上海市国家税务局官网网站
  • 北京重点税源直报平台登录
  • 汽车销售流程有哪些环节?每个环节的主要内容是什么?
  • 分国分项抵免法
  • 湖北国税网上办税大厅官网
  • 车辆过户给自己家人
  • 残疾人个体工商户补贴
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设