I currently want to create a dynamic list (and am using a grid), and want to avoid using Instantiate due to mobile concerns for widgets.
My idea is to have my elements already created (and under the grid gameobject), and just hidden off screen at Start() by parenting them to a gameobject above the grid and move them off screen.
Then when they are needed, I'll reparent them to the grid, move them under existing elements, and then use UIGrid.Reposition() to sort them. This seems to work fine, except when the elements exceed the scrollview dimensions, they don't clip. They used to clip in the editor, and seem to just fine, but they stop clipping when moved around during runtime.
I attached my current hierarchy and scene / play view setups (I'm unsure how to embed that into this post directly).