位置: 编程技术 - 正文

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)

  • 一般纳税人资格证明
  • 淘宝网店女装
  • 商品报废了还用退货吗
  • 预缴增值税项目编号填写错误怎么办
  • 出口退税进项发票认证勾选
  • 注册资金印花税减半政策
  • 制造业主要生产工艺
  • 企业缴纳增值税会计目录
  • 再保后赔款支出
  • 文化传媒公司取名字不带文化
  • 低价股权转让是利空还是利好
  • 变更法人税务怎么变更
  • 经济法基础企业所得税好难
  • 年终一次性奖金个税计算
  • 个人出租房屋合同协议书
  • 上季度多交的增值税怎么做账
  • 加计抵减什么时候做账务处理
  • 融资租赁到期后资产归属
  • 投资基金是什么科目
  • 个税免缴款
  • 汇缴交的所得税如何做账
  • 企业撤回投资说明模板怎么写
  • 个人财产税是什么意思
  • 城市维护建设税税率
  • 收到政府补助的现金流
  • 中级会计考试考后审核需要什么资料
  • 税收返还的账务处理
  • 企业原材料成本有哪些
  • 延期报税申请怎么操作
  • adb命令linux命令的区别
  • 计提企业所得税会计分录怎么做
  • fetchall的用法
  • vue切换背景图片
  • 外币借款业务的特点包括
  • yolo 官网
  • 集成代码
  • java面试题及答案下载
  • vue脚手架配合springsecurity
  • springboot+chatgpt+chatUI Pro开发智能聊天工具
  • 纳税人有什么义务
  • wordpress标签tag文章
  • 拓展费怎么做账
  • 企业应采用
  • 小型微利企业符合条件的有
  • python中series的用法
  • 织梦使用手册
  • 哪些计入管理费用哪些计入资本公积
  • 以前月份多扣社保吗
  • 项目支出可以列支差旅费吗
  • 国家企业信用公示信息公示
  • 增值税普通发票几个点
  • 工会经费绩效
  • 企业向个人借款合同模板
  • 购买旧固定资产入账
  • 不反写会影响开票吗
  • 售后服务维修收费制度
  • 出口货物退免税的管理规定
  • 登记会计账簿的基本要求
  • 财政非税收入支付平台
  • 员工报销签字流程
  • 企业间借款利息最新规定
  • 软件测试收费标准2019
  • 固定资产实务训练题目及答案
  • 会议接待纸笔摆放
  • myeclipse中连接数据库的地方在哪
  • freebsd操作命令
  • win7系统360浏览器收藏夹位置
  • win7旗舰版怎么连接无线网络
  • jquery 选中
  • Linux进程间通信——使用流套接字
  • unity更新下载文件
  • node.js异步编程
  • 利用python进行爬虫
  • beautiful python
  • unity5权威讲解
  • javascript如何学
  • eclipse项目导入后有红叉
  • css怎么设置
  • 需要缴税多少钱一个月
  • 结售汇选择汇还是钞好
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设