Egret社区

[Egret Engine] eui设置快捷约束后无法使用缩放

2018-12-5 14:07
4964
产品 Egret Engine 版本 5.2.13
复现概率 100% 平台 Windows win10
复现步骤 设置left、top、right、bottom为0,然后设置scaleX,scaleY的新值,缩放无结果
问题描述 eui设置了bottom、right后无法使用scaleX,scaleY对控件进行缩放
错误代码
BUG截图
如果无法解决这个问题,可以考虑做2个参数,比如设计尺寸和实际尺寸,实际尺寸总是根据设计尺寸计算出来的。比如设计尺寸是100%,那么实际尺寸就是舞台大小计算出实际值。同理,缩放也可以区分设计尺寸和实际尺寸。否则这个UI系统一点在设计时设计好了在运行时想对他做效果根本就很难做。
分享到 :
0 人收藏

4 个回复

倒序浏览
山猫  官方团队 | 2018-12-5 14:11:16
你把约束取消了,参考一下这个帖子的方法
https://bbs.egret.com/forum.php? ... =%E7%BC%A9%E6%94%BE
飞翔的乌鸦  渐入佳境 | 2018-12-5 14:11:55
不是BUG,就是这样设计的
xigalto  登堂入室 | 2018-12-5 14:22:07
飞翔的乌鸦 发表于 2018-12-5 14:11
不是BUG,就是这样设计的

知道是这样设计的,只是这样设计个人感觉不太合理。因为UI设计都是由美术/UI完成的,程序要在代码中对设计的UI做动效才发现根本不行,如果改成不使用约束,那么eui的自动布局就失去意义了,比如我要使用等高但是又想让等高的控件实现缩放到一个点然后消失的动画特效就没办法实现。如果不使用等高,还得在代码里监听RESIZE事件对他进行重新调整,这个难道你们就不觉得不合理么?
xigalto  登堂入室 | 2018-12-5 14:25:51
山猫 发表于 2018-12-5 14:11
你把约束取消了,参考一下这个帖子的方法
https://bbs.egret.com/forum.php?mod=viewthread&tid=50779&high ...

没什么用,知道取消约束能实现,但是不符合我的要求。
个人建议,你们的约束应该作为UI更新的计算原始值,而不是最终值,最终值(matrix/transform)应该是根据这些设计值计算出来的,这样约束和动效就不会冲突了。因为动效改变的是约束值而不是计算的最终值

约束是方便我实现动态调整大小的,比如占据屏幕1/4的区域而不用代码动态调整,同时在代码里又能对他进行操控。从目前来说约束的其他问题还可以使用折中方式解决,比如约束居中后不能移动位置我可以考虑改变其约束居中的值,但是缩放就完全没办法了,因为没有其他可以改变的值
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部