As you know, the general convention on using a scroller in Livecode is :
* group the scrolling objects
* set the rect of group to the viewport
* create a mobile scroller
* adjust its rect and contentRect parameters to the main group's.
But this method has a serious drawback.
Livecode uses int16 in its internal drawing routines and the group object is bound to to this limitation, too.
That means a group cannot be longer than 32767 pixels.
This is a deal-breaker for many kinds of productivity apps.
Consider a news reader, for example, like Circa
or a social app like Twitter, Path, Facebook.
If the Facebook for iPhone was coded via Livecode,
then the user would see only ~100 posts in the News Feed.
iPhone 5 screen can show 3 to 4 posts at a given time, and 32k / 1136px...., well, you got the point.
The solution is obvious, of course, create multiple groups then swap them forth and back, up and down as necessary.
Easier to tell than do, unfortunately
I might have done it, though, please check the attached stack: It has its own limitations, of course, mainly related to the RAM capacity of the device.
You cannot add gazillion of images, putting a 15GB load to the 512MB Ram of iPad
Actually, you can, maybe...
Loading only the active or close-to-viewport groups' content might help.
But I didn't code that, it's another day's task...
Things to know:
- The stack only works on simulator or on the device;
- Scrolling performance heavily depends on the horsepower of underlying platform,
- The stack creates random-colored graphics at first.
However, if you put some pics inside the *images* folder -next to the stack-
then it uses them instead of graphics.
Seriously, I hope some of you find it helpful...
Best,
~ Ender