首先,UI布置是这样的:
点击右面按钮进行显示隐藏,开始的设想是这样的,显示的时候坐标为零,隐藏的话为-width,这样做的话,当UI自适应时,比如4:3的屏状态下,可能出现按钮也移动到了屏幕外的情况。
pnlLeft.DOMoveX(isDisplay ? 0 : -pnlLeft.GetComponent<RectTransform>().sizeDelta.x, 1f);
然后就想到了修改pivot的想法,但是当代码实现时,发现,会出现瞬移,后测试发现,代码控制并不同于editor状态下的修改pivot,在代码中修改,坐标是不会随之改变的。
所以直接采用了DOPivotX的方法:
pnlLeft.GetComponent<RectTransform>().DOPivotX (isDisplay ? 0 : 1, 1f);