Graham,

I don't use mobgui but instead I use tmControl for layout of iOS elements.  
There are two types of scrolling lists possible in LC. The first is using 
mobilePick by itself or use an option button (that uses the iOS mobilePicker). 
The second is using either an LC field object or other objects like the list 
field in tmControl but either of these needs to be in a group and the group can 
now have an iOS scroller applied to it.

If you create a field that is very long and group it then select the group and 
make it shorter than that field it will scroll. I can't remember if the group 
needs locked or not. There are a couple of glitches to watch out for.

Here is parts of a script that controls a grouped field and an iOS scroller. A 
mouseUp in the field can return the desired line etc.

local sScrollerId
on scrollerDidScroll pOffsetX, pOffsetY
    lock screen
    set the hScroll of group "InputScrollerGroup" to pOffsetX
    set the vScroll of group "InputScrollerGroup" to pOffsetY
    unlock screen
end scrollerDidScroll

on openCard
    set the layerMode of group "InputScrollerGroup" of this card to "scrolling"
    
    set the unboundedHScroll of group "InputScrollerGroup" to true
    set the unboundedVScroll of group "InputScrollerGroup" to true
    
     -- add items to a field "Counter" and have it grow to fit the contents
    set the height of field "Counter" of this card to the formattedHeight of 
field "Counter"
    set the top of field "Counter" to the top of group "InputScrollerGroup"
  
    set the threeDHilite of field "Lap Counter" to false
    iphoneControlCreate "scroller", "InputScroller"
    put the result into sScrollerId
    put the rect of group "InputScrollerGroup" into tRect
    iphoneControlSet sScrollerId, "rect", tRect
    put the formattedHeight of field "Counter" into tHeight
    iphoneControlSet sScrollerId, "contentRect", (0, 0, 0, tHeight)
    iphoneControlSet sScrollerId, "indicatorInsets", (0,0,6,0)
    iphoneControlSet sScrollerId, "visible", "true"
    iphoneControlSet sScrollerId, "canBounce", true
    
    iphoneControlSet sScrollerId, "declerationRate", fast
    iphoneControlSet sScrollerId, "scrollingEnabled", true
    iphoneControlSet sScrollerId, "canScrollToTop", true 
    iphoneControlSet sScrollerId, "delayTouches", true
    
    iphoneControlSet sScrollerId, "vscroll", 0
    set the vScroll of group "InputScrollerGroup" to 0
    set the vScroll of field "Counter" to 0
    
    focus on nothing
    iphoneControlDo sScrollerId, "flashScrollIndicators"
end openCard

on closeCard
    iphoneControlDelete "InputScrollerGroup"
end closeCard

-- Tom McGrath III
http://lazyriver.on-rev.com
3mcgr...@comcast.net

On Apr 4, 2012, at 12:31 PM, Graham Samuel wrote:

> In an iOS app I'm developing I would like to use a scrolling text list where 
> the user can drag the whole list up and down (i.e. scroll the list) but can 
> also select a line by touching it.  This type of interaction is permitted in 
> iOS: a simple example is the index of Apple's own Contacts app.
> 
> I have looked at the latest iOS notes for LC5.5 (Scroller Control - 
> UIScrollView) and I can't understand how the textual list (like an ordinary 
> LC scrolling field) would come in to the scroller; I'm also just beginning to 
> use MobGUI to introduce some native controls, and that has a scroller object 
> too. It is  complex and consists of a group into which it is possible to 
> introduce such an LC field, but in that case it is sensitive to touches, but 
> not to dragging/scrolling - I tried setting the parameter 'delay touches' but 
> it didn't seem to change anything. 
> 
> Obviously I have missed some underlying concept here. The LC iOS doc says 
> that a scroller isn't a container for other controls, but I don't know what 
> that means. It seems a gnomic pronouncement rather on the lines of "Light is 
> not a thing" or “Die Welt ist alles, was der Fall ist.” Sounds terrific, but 
> what does it actually mean?
> 
> I also tried reading the UIScrollView section of Apple's documentation. It's 
> promising in a way (it mentions the need to do the kind of thing I'm talking 
> about) but it doesn't help me enough to allow me to proceed.
> 
> Does anyone know how to do this? I have asked MobGUI support, but I don't 
> know how reactive they are.
> 
> TIA
> 
> Graham
> _______________________________________________
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to