Introducción Página durante 5 segundos después de que el archivo Default.png y antes de la MainWindow.nib
-
23-09-2019 - |
Pregunta
Me había creado un proyecto en el que el default.png
duerme durante 3 segundos y luego el MainWindow.xib
se carga quería crear un nuevo IntroPageViewController.xib
antes de la carga FirstPageViewController.xib
. Yo quería poner algún texto en el IntroPage que carga durante 10 segundos y tiene un botón de salto.
Ya he creado el FirstPageViewController.xib
, ahora quiero IntroPageViewController.xib
carga en applicationdidfinishlaunching
.
Traté de hacer cambios en el FirstPageAppDelegate.h
y .m pero aún así las cargas FirstPageViewController.xib
y si hago cambios en info.plist
a IntroPageViewController.xib
carga o IntroPageViewController
la aplicación se bloquea.
Se necesita ayuda por favor.
Gracias una tonelada de antemano :)
Saludos, Codificador
Solución
En lugar de cargar el IntroPageViewController.xib por delante de la FirstPageViewController.xib manualmente, intente lo siguiente:
- Cuando se carga el FirstPage, muestran la IntroPage ver en la parte superior de la misma.
- Después de un retraso o cuando es botón de salto presionado, retire el IntroPage.
Así es como:
Hacer una IntroPageViewController con el correspondiente archivo de xib.
En Xcode, la configuración de un botón y un método de acción para ese botón.
// 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
}
Ahora el siguiente paso es abrir IntroViewController.xib en Interface Builder y arrastre un UIButton a la vista, establecer su título a 'Skip'.
Conectar el botón a la skipPressed acción y del propietario del archivo de conexión al botón.
Atrás Ir a Xcode y Generar y ejecutar para probarlo. Si todo va bien, su IntroView debe ser visible en tiempo de puesta en marcha durante 5 segundos o hasta que se toca el botón de salto.
Otros consejos
El uso NSTimer para crear algunas temporizador. La acción correspondiente se ejecutará después de 10 seg o cuando omitir botón será presionado.