1、canvas设置
存在刘海屏的需要把ui两侧向内移动到安全区域,这里在canvas内多放了一个node
在CanvasMatch.cs内修改CanvasMatch的RectTransform(CanvasMatch设置的是铺满,Left、Right、Top、Bottom都是0)。
1.1Unity-UGUI动态修改 RectTransform
动态修改RectTransform 的Left,Top,Right和Bottom值,Unity提供了两个值。
Image_BG.GetComponent<RectTransform>().offsetMin = new Vector2(0.0f, 0.0f);
Image_BG.GetComponent<RectTransform>().offsetMax = new Vector2(0.0f, 0.0f);
//左右两边缩进
RectTransform.offsetMin = new Vector2(matchWidth, 0);
RectTransform.offsetMax = new Vector2(-matchWidth, 0);
offsetMin : 对应Left、Bottom
offsetMax : 对应Right、Top
2、修改后整个界面都会缩进去一部分,但是有的界面存在全屏的背景图。目前直接再全屏的背景图上再设置一次RectTransform。
var rect = GetComponent<RectTransform>();
rect.offsetMin = new Vector2(-CanvasMatch.instance.matchWidth, 0);
rect.offsetMax = new Vector2(CanvasMatch.instance.matchWidth, 0);
暂时先这样处理了