动态修改UI的RectTransform的位置和宽高信息

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ChangeGridSizeAndPos : MonoBehaviour {
   public RectTransform myGrid;
 
    // Use this for initialization
    void Start () {
   
        GridSizeAndPos_ZCS();
      
    }
	
	// Update is called once per frame
	void Update () {
   
    }
    public void GridSizeAndPos_ZCS()
    {

        //改变RectTransform的postion(x,y,z)  
        myGrid.GetComponent< RectTransform>().anchoredPosition3D = new Vector3(0.0f, -320.0f, 0.0f);
        //改变RectTransform的宽和高(注:测试的时候锚点中不要选择带蓝色线的适配方式,那样会被拉伸的)  
        myGrid.GetComponent<RectTransform>().sizeDelta = new Vector2(300.0f, 1600.0f);

    }
    public void GridSizeAndPos_HCS()
    {

        //改变RectTransform的postion(x,y,z)  
        myGrid.GetComponent<RectTransform>().anchoredPosition3D = new Vector3(0.0f, -166.65f, 0.0f);
        //改变RectTransform的宽和高(注:测试的时候锚点中不要选择带蓝色线的适配方式,那样会被拉伸的)  
        myGrid.GetComponent<RectTransform>().sizeDelta = new Vector2(300.0f, 1173.3f);

    }
    public void GridSizeAndPos_XCS()
    {
        //改变RectTransform的postion(x,y,z)  
        myGrid.GetComponent<RectTransform>().anchoredPosition3D = new Vector3(0.0f,0.0f, 0.0f);
        //改变RectTransform的宽和高(注:测试的时候锚点中不要选择带蓝色线的适配方式,那样会被拉伸的)  
        myGrid.GetComponent<RectTransform>().sizeDelta = new Vector2(300.0f, 960.0f);

    }
}

通过下面的三个特定按钮,控制Grid的位置和大小变化。

猜你喜欢

转载自blog.csdn.net/lrh15980692010/article/details/79074599
今日推荐