UI生成的位置RectTransform

/// <summary>

    /// 自身显示的位置

    /// </summary>

    private void SetMyShowRectTransform()

    {

        if (location == 0)

        {

            // //左下角对其

            var objVec = btn.anchoredPosition;//当前按钮的坐标

            //print("当前按钮的位置" + btn.anchoredPosition);

            //计算出父物体的宽和高,也就是父物体的位置

            var wide = btn.sizeDelta.x;

            var hight = btn.sizeDelta.y;

            //按钮左下角的位置

            float x = objVec.x + wide / 2;

            float y = objVec.y - hight / 2;

            //计算出自身的x和y

            var imageX = rect.sizeDelta.x;

            var imageY = rect.sizeDelta.y;

            var imgpos = new Vector2(x + imageX / 2, y - imageY / 2);//同级的位置

                 //子级的位置(同级时不需要减去按钮的位置)

            rect.anchoredPosition = imgpos - objVec + new Vector2(0, hight);

        }

        else

        {

            //右下角对其

            var objVec = btn.anchoredPosition;//当前按钮的坐标

            //计算出父物体的宽和高,也就是父物体的位置

            var wide = btn.sizeDelta.x;

            var hight = btn.sizeDelta.y;

            //按钮左下角的位置

            float x = objVec.x + wide / 2;

            float y = objVec.y - hight / 2;

            //计算出自身的x和y

            var imageX = rect.sizeDelta.x;

            var imageY = rect.sizeDelta.y;

            var imgpos = new Vector2(x + imageX / 2, y - imageY / 2);//同级的位置

             //子级的位置(同级时不需要减去按钮的位置)

            rect.anchoredPosition = objVec - imgpos - new Vector2(0, hight);

        }

    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容