Is there a way to achieve my desired result without the massive hitch from calling NGUITools.ImmediatelyCreateDrawCalls(_uiWrapContent.gameObject)? I'm seeing 500kb of GC alloc and 250+ ms while in deep profile in the editor (with OnValidate commented out). I'm just looking to make the list start at the beginning immediately after opening the dialog. Being able to focus on a specific item would also be really useful, but isn't quite critical yet.
My hierarchy looks like this, in case it's relevant:
Scroll View/Panel
- UIWrapContent
--UIWidget (x8)
---UIWidget (sprite, label, etc) x16
As a separate issue, UIWrapContent seems to have problems when dealing with an inaccurate number of children and a restricted range (either too few children or too many). I fixed these problems locally, but figured it would be useful to bring to your attention. I was seeing some items not being initialized when mFirstTime is set and others remaining visible even if their realIndex is out of range of minIndex and maxIndex. Also, the following assignment is only happening in either vertical or horizontal mode (I forget which). Is that intended?
mScroll.restrictWithinPanel = !allWithinRange;