位置: 编程技术 - 正文

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)

  • 小规模纳税人可以开9%专票吗
  • 契税计税依据及税率
  • 小规模纳税人工程款税率是多少
  • 研发费用可以列支成本吗
  • 出售无形资产和转让无形资产
  • 保证金可以挪用吗
  • 调整企业银行存款账面余额的记账依据是什么
  • 企业合并固定资产增值的规定
  • 民办美术高中有哪些
  • 房地产企业汇算清缴
  • 各种收入与应纳税额的比例
  • 股票印花税最新政策2023怎么算
  • 固定资产报废废铁收入需要交税吗
  • 股东撤资退出的处理方式
  • 公户可以在淘宝下单吗
  • 出口退税代理费用大概多少
  • 房地产企业老项目增值税
  • 单位购入新车的发票
  • 进项票超过180天还可以认证吗
  • 报销凭证找不到了怎么办
  • 公司不收员工的个人所得税怎么处理?
  • 收到的专票都必须开吗
  • 非居民企业能否认定为一般纳税人
  • 无形资产软件摊销年限的最新规定2021
  • 非居民个人所得税税率表2021
  • 税后利润分配需要计提吗
  • 少计提增值税0.01计入营业外
  • 税款已缴纳可以作废申报吗
  • 在win7中,当前窗口的数量是多少个
  • 企业所得税汇算清缴补缴税款分录
  • win10声音设置面板在哪
  • 出差环境补贴怎么算
  • 在win7系统中怎样卸载win10?
  • PHP:preg_replace_callback()的用法_PCRE正则函数
  • 特殊性税务处理的条件
  • 若依名字的含义是什么意思
  • php100 jquery教程
  • 债务重组收益的计算
  • 固定资产的减值准备,一经确认,不得转回
  • laravel入门与实战:构建主流php应用开发框架
  • php模板源码
  • js获取各种屏幕信息
  • 新企业会计准则
  • 增值税申报系统登录密码
  • 电子口岸无纸化报关
  • 借款给别的公司怎么做账
  • 原材料专票入库怎么入账
  • 企业税预缴在哪里
  • 广告费的税额计入哪里
  • 企业迁移税务如何办理
  • 应付账款抹零摘要怎么写
  • 核定征收所得税税率是多少
  • 固定资产溢余
  • 实收资本的会计编码
  • 所得税季度申报弥补以前年度亏损
  • 付给供应商的货款怎么写记账凭证
  • 小规模纳税人开专票税率是多少?
  • 损益类账户属于资产还是负债
  • 销售单位收入和税收
  • 辅导期一般纳税人标准
  • b-树和b+树都能有效地支持随机检索
  • windows10右键菜单打开太慢
  • xp系统怎么弄成win7
  • Windows 2008 R2的C盘空间不够的解决方法
  • 苹果手机价格
  • win8任务管理器快捷键
  • vrvedp_m.exe是什么进程
  • Win7系统打印机共享无法保存打印机设置0x000006d9
  • Ubuntu系统怎么设置root
  • 任务管理器快捷键ctrl+alt+
  • pphelper是什么文件
  • mac os 必装软件
  • jquery获取元素css
  • js菜鸟编程
  • jquery1.11.3
  • 虚假新闻造成的真实伤害
  • 社保申报每月几号申报
  • 开专票需要什么资料
  • 技术进出口指什么技术
  • 国税系统三方协议
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设