Instantiate Prefab text adds canvas height to pos y

To instantiate a UI Text, I am using:

inv = Instantiate(Resources.Load(“UI/invItem”) as GameObject);
inv.transform.SetParent(inventoryUI.transform,false);

If I drag a version of this prefab into the canvas and hit play, it’s positioned perfectly, but when I instantiate it, the height of the parent canvas is added every frame to where ever i try to position it. I have the anchor presets to top left. Why are the instantiated versions misaligned like this?

Sorry if this is a beginner’s problem. I just can’t find the answer anywhere.

Hmm. I guess I’m just figuring out that it has more to do with me positioning the instantiated versions rather than the actual instantiation. So what is wrong about this?

var invRT = inv.GetComponent(RectTransform);
invRT.position.x=250;
invRT.position.y=-150;

Is there a correct way other than just adding Screen.height to the position? Seems strange.

This sounds confusing. Maybe explain the situation a little more, because I’m a beginner too.
Are you using void update() at all?

I