位置: 编程技术 - 正文

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)

  • 公允价值变动损益属于什么科目
  • 税前利润是什么利润
  • 分税制财政管理体制是什么?
  • 增值税附加税减免
  • 小规模企业现金流量表
  • 管理费用中税金分录怎么写
  • 介质申报和网络申报的区别
  • 个体工商户年度报告表怎么报
  • 固定资产报废的会计科目
  • 冲销上年计提的住房公积金怎么做账
  • 简易征收进项税额转出什么意思
  • 所得税季度预缴纳税申报表中弥补以前年度亏损
  • 发给职工的福利要交个税吗
  • 购买可供出售金融资产的交易费用
  • 无分包声明
  • 子公司之间固定资产转让
  • 利息算增值税吗
  • 预缴的企业所得税可以扣除吗
  • 雄安新区纳入综合考核
  • 以前年度费用本年开发票
  • 结转实物发放的成本分录
  • 机动车发票有几联
  • 虚假会计凭证有哪些识别方法
  • 外地预缴附加税减半
  • 跨年度多计提的印花税怎么冲回
  • 应交税费 减免税款
  • 制造企业享受增值税政策
  • 稿费个人所得税计算方式
  • 支付工程款会计处理
  • bios如何解除电脑密码
  • 你肯定不知道的11个狗狗冷知识
  • 主营业务成本算损益类科目吗
  • web前端有哪些
  • 房企因商品质量问题退租
  • 公路客运车辆
  • PHP:imagecreatefromgd()的用法_GD库图像处理函数
  • 增值税发票半年能开吗
  • setenforce 0命令
  • php封装数据库操作
  • 促销赠品的会计处理
  • 石油预付款发票怎么开
  • sql server 触发器定时触发
  • pythonjam怎么用
  • 债务人以固定资产债务重组
  • 原始凭证可以直接粘在记账凭证后吗
  • erp用友u8操作教程
  • 股权转让所得如何申报个税
  • 处置无形资产属于投资活动吗
  • 当月开的发票次月预缴税款行得通吗?
  • 国有企业无偿划转股权缴纳印花税
  • 应交税费应交增值税借贷方向
  • 月末库存商品能抵税吗
  • 固定资产相同的物品可以合并嘛
  • win10自带邮件怎么登录foxmail账号
  • wp_official_1.1.3.apk软件下载
  • win10系统打印机脱机状态怎么恢复正常打印
  • win10系统小娜不见了
  • winxp怎么设置启动项
  • mac如何整理桌面图标
  • Win10系统无法访问局域网共享电脑怎么办
  • win1020h2正式版
  • win7怎么设置网速限制
  • linux命令光标移动到末尾
  • win7操作技巧
  • linux配置命令
  • javascriptz
  • 为什么要建立文明城市
  • perl如何使用
  • jquery 选中
  • 深入浅出javascript
  • dos 到指定目录
  • js过滤filter
  • shell脚本怎么进入指定目录
  • javascript要怎么学
  • keycode输入cat
  • python运行flask
  • 法律服务所与律师事务所区别
  • 税务分局长级别
  • 劳务包含哪些
  • 航空煤油消费税征收环节
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设