iOS Splash Screen masks display

Graham Samuel livfoss at mac.com
Fri May 25 15:09:50 EDT 2012


Tim, thanks for the reply.

I understand about the static image, which I may have confused people by calling a splash screen (although that's what it is). The Apple link you gave shows that I should be calling it a "launch image" although this term is not used in the LC Standalone Application Settings.

My problem relates to the fact that iOS as a standard action begins by showing the launch image when an app is started: the issue is how this is dismissed when the first LiveCode script begins to run - in my apps this is always in a 'startup' handler which goes to the first card of the first stack and has the merit of being executed only once. The startup script does not necessarily display a card.

What I have found is that there is some strange glitch in the way the launch image disappears and is replaced by the first visible LC card. It is possible (although IMHO it shouldn't be since the image is being shown by iOS outside the LC engine as you point out) to prolong the time the launch image is shown by putting in a delay ('wait n seconds') somewhere in the opening script of the LC app. This is what I'm worried about, and I've only been able to get round it by displaying Card 1 in my example permanently, i.e. not with a wait-and-goto structure, and then asking the user to touch this card (screen) to activate a script that goes to Card 2. There should be a simpler way but I have not yet found it.

As to Galactic Invaders, far from it. I am creating a simple educational game for kids with no internet access, no phone calls, no printing - just touch and drag plus a few sounds. I am not violating any more UI guidelines than say Boggle for iPad does - not that that's much of a recommendation.

Still trying to understand what's going on. I am quite prepared to find out it's something stupid on my part.

Graham


On Fri, 25 May 2012 06:49:51 -0700, Tim Jones <tolistim at me.com> wrote:

> On May 23, 2012, at 2:04 PM, Graham Samuel wrote:
> 
>> I'm developing an iPad app which has an iOS splash screen (they all do), which AFAIK is there in order to show itself until the app is fully loaded. I am not sure how iOS knows that the load is complete, but anyway I seem to have a problem about this.
>> 
>> My app has two stacks: the first has a startup handler that sets things going but is not displayed, and then hands over to the other stack. When the splash screen goes away, I want to show a particular card (say Card1) in the second stack, wait a short time and then move to another card (Card2) to allow the user to start work. I found that if I put a script like this into the first card:
>> 
>> on openCard
>> wait 4 seconds
>> go to "Card2"
>> end openCard
>> 
>> then the splash screen stays around for an extra 4 seconds, and the first thing the user sees is Card 2 - Card 1 is never visible. 
>> 
>> What did I do wrong and how can I get the result I want?
> 
> You don't create the splash screen.  You provide a static image as part of your bundle and the iOS executive displays it and then hides it once your app is loaded.
> 
> That part is automatic, not something that you have to code.
> 
> Check here for details:
> 
> 	http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html
> 
> In fact, if you're not creating another "Galactic Invaders" game, I recommend the UI guideline docs for everyone:
> 
> 	http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html#//apple_ref/doc/uid/TP40006556-CH1-SW1
> 
> Tim




More information about the use-livecode mailing list