Página de introdução por 5 segundos após o arquivo padrão.png e antes do Mainwindow.nib
-
23-09-2019 - |
Pergunta
Eu havia criado um projeto onde o default.png
dorme por 3 segundos e depois o MainWindow.xib
está carregado, eu queria criar um novo IntroPageViewController.xib
antes de o FirstPageViewController.xib
Cargas. Eu queria colocar algum texto na intropagem que carregue por 10 segundos e tenha um botão de pular. Eu já criei o FirstPageViewController.xib
, agora eu quero carregar IntroPageViewController.xib
dentro applicationdidfinishlaunching
.
Eu tentei fazer alterações no FirstPageAppDelegate.h
e .m mas ainda o FirstPageViewController.xib
cargas e se eu fizer alterações para info.plist
para carregar IntroPageViewController.xib
ou IntroPageViewController
o aplicativo trava. Ajuda necessária, por favor.
Obrigado uma tonelada antecipadamente :)
Atenciosamente, codificador
Solução
Em vez de carregar o intropageViewController.xib à frente do FirstPageViewController.xib manualmente, tente o seguinte:
- Quando a primeira página carregar, mostre a vista intropage sobre ela.
- Após um atraso ou quando o botão Skip for pressionado, remova a intropagem.
Aqui está como:
Faça um intropageViewController com o arquivo XIB correspondente.
No Xcode, configure um botão e um método de ação para esse botão.
// 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
}
Agora, a próxima etapa é abrir o IntroViewController.xib no interface Builder e arrastar um uibutton para a visualização, defina seu título como 'Skip'.
Conecte o botão ao Skipprimed Ação e conectar o proprietário do arquivo ao botão.
Volte ao Xcode e Construir e correr para testá -lo. Se tudo estiver bem, seu Introview deve ser visível no horário de lançamento por 5 segundos ou até que você toque no botão Skip.
Outras dicas
Use o NSTIMER para criar algum cronômetro. A ação correspondente será executada após 10 segundos ou quando o botão Skip será pressionado.