transform.localScale causes images won't dispaly

Hello,

I have following code in my script:

GameObject gReload = Instantiate(listItem) as GameObject;
GameItemListItemController gReloadController = gReload.GetComponent<GameItemListItemController>();
gReloadController.itemDesc.text = "Reload";
gReloadController.itemIco.overrideSprite = Resources.Load<Sprite>("menu_ico_reload");
   ......
gReload.transform.SetParent(listView.transform);
gReload.transform.localScale = Vector2.one;

ItemIco is UI Image component. When I run the game no image is displayed. However, if I comment out the line

gReload.transform.localScale = Vector2.one;

image is displayed no problem. Do you have any idea what could cause this behaviour?

Thank you!

My bad. It shouldn’t be

 gReload.transform.localScale = Vector2.one;

but

gReload.transform.localScale = Vector3.one;