Page d'introduction pour 5 secondes après le fichier default.png et avant le MainWindow.nib

StackOverflow https://stackoverflow.com/questions/2361157

Question

J'avais créé un projet où le default.png dort pendant 3 secondes, puis le MainWindow.xib est chargé, je voulais créer une nouvelle IntroPageViewController.xib avant le chargement du FirstPageViewController.xib. Je voulais mettre un texte dans le IntroPage qui charge pendant 10 secondes et a un bouton de saut. Je l'ai déjà créé le FirstPageViewController.xib, maintenant je veux charger dans IntroPageViewController.xib applicationdidfinishlaunching.

J'ai essayé de faire des changements dans la FirstPageAppDelegate.h et .m mais encore les charges FirstPageViewController.xib et si je fais des changements à info.plist pour charger IntroPageViewController.xib ou IntroPageViewController l'application se bloque. Besoin d'aide s'il vous plaît.

Merci une tonne à l'avance :)

Cordialement, Coder

Était-ce utile?

La solution

Au lieu de charger le IntroPageViewController.xib avant la FirstPageViewController.xib manuellement, essayez ceci:

  • Lorsque les charges FIRSTPAGE, montrent la vue IntroPage sur le dessus de celui-ci.
  • Après un délai ou lorsque le bouton de saut est emboutie, retirez le IntroPage.

Voici comment:

Faire un IntroPageViewController avec le fichier correspondant xib.
Dans Xcode, la configuration d'un bouton et une méthode d'action pour ce bouton.

// in your .h file.   

@interface IntroViewController : UIViewController {
    UIButton *skipButton;
}  

@property (nonatomic, retain) IBOutlet UIButton *skipButton;

-(IBAction)skipPressed;

@end  

// in the .m file  

-(IBAction)skipPressed {
    [self.view removeFromSuperview]; // this removes intro screen from the screen, leaving you FirstView
}

// put this in the viewDidLoad method
- (void)viewDidLoad {
    [super viewDidLoad];

    [self performSelector:@selector(skipPressed) withObject:nil afterDelay:5];
}

// add these in FirstViewController.m  

#import "IntroViewController.h"  

- (void)viewDidLoad {
    [super viewDidLoad];

    IntroViewController *introViewController = [[IntroViewController alloc] initWithNibName:@"IntroViewController" bundle:[NSBundle mainBundle]];
    [self.view addSubview:introViewController.view];
    [introViewController release]; // this removes your IntroScreen from memory once it disappears offscreen
}

Maintenant, l'étape suivante consiste à ouvrir IntroViewController.xib dans Interface Builder et faites glisser un UIButton à la vue, définir son titre « Skip ».

Connectez le bouton à skipPressed actions et connectez le propriétaire du fichier du bouton.

Retour à Xcode et Build and Run pour le tester. Si tout va bien, votre IntroView devrait être visible au moment du lancement pendant 5 secondes ou jusqu'à ce que vous appuyez sur le bouton Ignorer.

Autres conseils

utiliser NSTimer pour créer une minuterie. L'action correspondante sera exécutée après 10 secondes ou lorsque le bouton de saut est enfoncée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top