• Inscription
AideApple Aide App Apple iPhone iPad iOS sdk ipod itv support

Bienvenue sur AideApple.com Le Site d'aide qui va trouver la réponse à vos questions en un rien de temps !

Poser une Question
Répondre aux Questions


Site Favoris:

PS Live PhotoShopLive PSLIVE PSL
Concours Aide Apple:


Bientôt Disponible !
+6 votes
4k vues

Bonjour,

Je suis en train de développer une application iPhone basée sur une WebView. Et je cherche une solution afin de faire en sorte que le SplashScren ne s'enlève qu'une fois l'application **complètement** chargée.
 
Histoire d'éviter une page blanche qui peut durer un peu de temps selon la connexion et, peut-être faire croire un plantage à l'utilisateur.
 
Merci pour votre aide ;)
par (19k points) dans Dev iOS

Votre réponse

Votre nom à afficher (en option)
Vie privée : Votre adresse de messagerie ne sera utilisée que pour l'envoi de ces notifications .
Vérification anti-spam
Pour éviter cette vérification à l'avenir, Connectez vous ou inscrivez vous.

2 Réponses

+3 votes
 
Meilleure réponse
Bonjour,

Il n'y a qu'une solution partielle à ce problème.

En fait il faut que tu affiche une image similaire à ton splashscreen au lancement de ton application qui te donnera l'impression de ne jamais l'avoir quitté.

 

Et tu pourra supprimer cette image via la fonction :

- (void)webViewDidFinishLoad:

 

Cependant cette solution n'est pas parfaite car ton application peut passer par cette fonction alors que ton site n'est pas encore affiché et alors tomber sur une page blanche.

Après à toi d'optiliser ta page pour que son chargement soit le plus rapide possible.

Pense aussi aux personnes qui sont connectées en 3G ou pire en Edge...

 

Une autre solution simple, consisterait à mettre une image, comme l'idée précédente, mais au lieu de le retirer via la fonction citée plus haut, tu met un Timer qui supprimera l'image après un certain temps. Mais là pareil. Ce sera loin d'être parfait

 

Aussi n'oublie pas qu'Apple n'aime aucunement les application seulement faite d'une webView. Il faut qu'elle propose d'autre fonctionnalités, In-App
par (10.8k points)
sélectionné par
Merci vince ;)
+3 votes

 

Salut,
 
Au lieu de prolonger le splashscreen tu peux ajouter une UIImage (qui pourra être la même que le SplashScreen, ou alors une pub ou tout ce que tu veux). C'est UIImageView sera placée au dessus de tous les composants de ta vue principale.
 
dans le .h:
    IBOutlet UIWebview *webView;
    IBOutlet UIImageView *myImg;
 
    @property (nonatomic, retain) UIWebView *webView;
    @property (nonatomic, retain) UIImageview *myImg;
 
dans le .m:
     - (void)webViewDidStartLoad:(UIWebView *)webView {    
    
        myImg.hidden = NO;  
    }
    
    -(void)webViewDidFinishLoad:(UIWebView *)webView   
    {
        
         myImg.hidden = YES;
        
    }
    
    - (void)viewDidLoad
    {
        [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://***.google.fr"]]];
        
        [webView setDelegate:self];
    
        myImg.hidden = YES;
        
        [super viewDidLoad];
    }
par (3.4k points)
Merci beaucoup pour ta réponse ;)


Le site, les concours ainsi que tous les services d'AideApple sont indépendant d'Apple Inc.
Toutes les marques citées appartiennent à leurs propriétaires respectifs.
Sites Favoris : HomeKit - Star Citizen TV
...