我正在以统一方式实例化一个预制面板,我将它设置为另一个面板的父级,如下所示:
GameObject notificationPanel = (GameObject) Resources.Load("NotificationWindow");
Text notificationText = notificationPanel.GetComponentInChildren<Text>();
if (notificationType == NotificationType.Warning)
{
notificationText.color = Color.red;
}
notificationText.text = text;
GameObject newNotificationWindow =
(GameObject) Instantiate(notificationPanel, new Vector3(0, 0, 0), Quaternion.identity);
newNotificationWindow.transform.SetParent(Settings.NotificationHolder.transform);
然而,当实例化它是一个疯狂的大小时,父面板有一个布局组,其中有一个固定大小的单元格,为什么这不影响它?新面板比我的屏幕大10倍左右。在层次结构视图中,新面板在其父级下正确显示为子级。 'z'位置也在 - 3900左右?
答案 0 :(得分:1)
所以在阅读Unity Documentation: Instantiating the UI element之后,您只需致电:
newNotificationWindow.transform.SetParent(Settings.NotificationHolder.transform, false);
“false”表示worldPositionStays参数,这会缩放UI。
请告诉我这是否适合您。