位置: 编程技术 - 正文

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)

  • 宁波财税网会计之窗官网
  • 发货过程
  • 现金流量表财务费用怎么填
  • 工程材料发票备注要求
  • 实收资本增加印花税税目
  • 收到对方红字发票如何做账
  • 已付款收不到发票怎么办
  • 小微企业增值税减免账务处理
  • 快递行业的收入与成本
  • 购税控盘账务处理
  • 进项转出再差额征收待抵扣
  • 购买财务软件账务处理规定
  • 支付宝企业账户客服电话
  • 购进货物取得
  • 货车挂靠企业需要交增值税吗?
  • 金税三期房产税更正申报怎么弄
  • 个人独资企业的所得税税率
  • 合伙企业个人所得税经营所得怎么申报
  • 为什么报税资料老是显示有
  • 一般纳税人专业分包税率
  • 个体虚开普通发票罪立案标准
  • 进项税加计抵扣分录
  • 差额征税做账分录
  • 增值税的征收范围包括在中华人民共和国境内
  • 一式三联的收据哪一联要盖财务章
  • Win11如何设置快捷键调音量
  • 现金流量表的内涵及其编制基础
  • 出纳现金管理的目标与方法
  • 预付款后开发票时的摘要和分录怎么做?
  • u启动u盘怎么装系统
  • SIMETER.EXE - SIMETER是什么进程 有什么用
  • 股东变更股权转让未分配利益
  • 金银首饰在哪个软件买
  • php怎么新建
  • 良心推荐博主
  • 公司法人变更账户没有改有影响吗
  • 增值税如何形成欠税
  • 张家界天门山介绍简介
  • 投资者减除费用60000
  • window.location.href返回值
  • vscode写前端代码,如何运行
  • linux杀死程序
  • react devtools
  • setsid命令
  • controller控制器怎么调
  • 借款凭证会计分录是什么
  • 如何开具电子发票广东
  • php swoole 协程
  • mysql安装配置教程csdn
  • 预付开发票加油后还能开吗?
  • sqlserver2008安装步骤图文
  • 开票方没有缴纳增值税
  • 进项认证怎么算
  • 季节性停工计入成本吗
  • 固定资产售后回购
  • 辞退福利是入工资还是福利费
  • 差旅费住宿专票能否抵扣
  • 股东股权转让会计分录
  • 企业明细是什么
  • win10怎么进u盘系统
  • Windows Server 2003环境更改Boot.ini文件
  • ubuntu crontab
  • ubuntu更新版本
  • ubuntu设置关闭按钮在右侧
  • fpx是什么文件格式
  • linux tar -xzvf
  • mongoose怎么用
  • ubuntu重新安装网卡驱动
  • jquery lazyload
  • shell脚本中调用外部c程序
  • javascript的主要内容
  • jquery console.log
  • android 获取手机屏幕截图
  • android 5.1 WIFI图标上的感叹号及其解决办法
  • 公司在异地办公
  • 出租车票如何验真
  • 新疆税务app操作手册
  • 软件销售税率13还是6还是9
  • 供热基础设施配套费
  • 纳税人识别号和公司税号一样吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设