位置: 编程技术 - 正文

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)

  • 增值税审核表
  • 等线支付给劳务派遣单位的工资怎么做账
  • 其他应收款收到发票怎么写会计分录
  • 企业所得税必须计提吗?什么时候计提?
  • 单位承担的社保费用计入应付职工薪酬科目吗
  • 银行代扣的社保怎么查询
  • 视同内销补税的财务处理
  • 发票代签怎么处理
  • 无形资产有合同约定,怎么摊销?
  • 融资租赁业务的账务处理
  • 购买方已抵扣开具红字信息表之后做账需要什么原始凭证
  • 债务重组的会计处理方法
  • 材料亏损怎么做会计分录?
  • 上月营业外收入少报入了怎么办
  • 预付账款是付没付钱
  • 个人转让不动产给个人独资企业
  • 购买未完工的厂房会计分录
  • 出租土地使用权计入什么科目
  • 城建税及教育费附加计提表
  • 增值税专用发票的税率是多少啊
  • 办公车辆的燃油费过路费怎么报销?
  • 小规模纳税人增值税3%减按1%
  • 财产清查的方法和财产清查结果的会计处理
  • 火车票可以报账吗
  • 一般计税方法增值税
  • windows 11任务栏没有网络图标
  • imac 5k屏幕参数
  • 创业补贴的作用
  • 借方为什么要转账
  • php23种设计模式
  • php foreach as
  • 让渡资产使用权包含哪些内容
  • 其他流动资产是速动资产吗
  • php输出对象
  • 小规模纳税人低于30万怎么填报申报表
  • 所得税季度申报弥补以前年度亏损
  • 公益组织可以开公司吗
  • 预提费用待摊费用改为什么科目
  • 增值税的滞纳金税率
  • php中使用什么函数来定义常量
  • mysql查询表里数据
  • 农产品增值税免税备案资料
  • 小微企业报税是多久报一次
  • 征税小规模纳税申报
  • 投资管理公司成立的请示范文
  • 过账怎么操作
  • 公司法人必须在公司名下缴纳社保吗
  • 机构信用代码证在哪里办理
  • 对公账户取钱该怎么取钱
  • 办公费税前扣除标准2023年
  • 专项储备 科目
  • 更正会计差错的方法
  • 发票红字怎么弄
  • 2020年防洪基金计算公式
  • 纳税申报表多缴了怎么办
  • 一般纳税人农业企业免企业所得吗
  • 出口运保费是什么费用
  • 代理服务费计入什么科目
  • 纳税人销售免税产品开具专票
  • 年报从业人数和什么有关
  • mysql存储引擎的作用
  • sqlserver临时表 效率
  • win10怎么给Windows Defender添加排除项?
  • 开启 windows server
  • win9什么时候发布的
  • 用centos搭建服务器的详细教程
  • windows的小技巧
  • win10缺少文件如何修复
  • mac vlc
  • windows 8怎么样
  • Win10 Mobile 10586正式版即将向Insider用户推送
  • android opencl
  • 批处理基础知识
  • js比较数值
  • [置顶]bilinovel
  • 四川税务局网上办事大厅
  • 12366的客服辛苦吗
  • 专利证书印花税怎么计算
  • 南通房屋登记系统
  • 税务局宪法宣传日
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设