If the user
presses the "<
" ">" keys to move to the next or previous field, they can reach a field on a region that is not being displayed. The display will even show portions of both regions simultaneously.
Here is what I did:
1. Add 3 iPhoneRegions to the form. IWRegion1, IWRegion2 and IWRegion3
2. Add an edits to IWRegion1 and IWRegion2. IWEdit1 & IWEdit2
3. Add a PageTransition to the form and sett the regions.
4. Run
5. Enter IWEdit1.
6. Press the > button when the keyboard is showing.
It will advance to IWEdit2 on IWRegion2. Is there a way to stop this behavior?
You can set the Enabled property of the IWEdit controls on the non-visual IWRegion controls to false. Then set it to true again when TransitionToNext or TransitionToPrevious is called.
That does work with edits, but it does not work with any TTIWIPhoneButton
controls. I have a few of those in regions. They do not update in the PageTransition's Async events.
Unfortunately it's currently not supported to asynchronously toggle the Enabled property of a TIWIPhoneButton control. However, this is a good suggestion and we'll consider adding this functionality in a future version.
As a workaround you can use a default TIWButton control instead.
I ended up using Gradient Buttons instead. That gives me more control over the styling. It would be great to see that added as a feature. It would be nice to have that functionality on an IPhoneRegion or IPhoneScrollRegion as well.
Something that could be called, like MyiPhoneRegion.AsyncRefresh;