Cas 1:Chargement dynamique des vues
J'ai créé un exemple d'application basé sur View et j'ai essayé de l'exécuter sous le code. Quand j'appuie sur le bouton "Job List", il faut charger une autre vue avec "Back Btn" dessus.
En fonction de test, si j'utilise
[self.navigationController pushViewController:jbc animated:YES];
rien ne se charge,
mais si j'utilise
[self presentModalViewController:jbc animated:YES];
il charge une autre vue haveing "Retour Btn" sur elle.
Cas n ° 2:
J'ai créé un autre Applicaton de navigation à et utilisé
[self.navigationController pushViewController:jbc animated:YES];
cela a fonctionné comme je le voulais. Est-ce que quelqu'un peut expliquer pourquoi cela ne fonctionnait pas dans le cas 1. Cela a-t-il quelque chose à voir avec le type de projet qui est sélectionné?
@interface MWViewController : UIViewController {
}
-(void) test;
@end
@interface JobViewCtrl : UIViewController {
}
@end
@implementation MWViewController
(void)viewDidLoad {
UIButton* btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(80, 170, 150, 35);
[btn setTitle:@"Job List!" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(test)
forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
[super viewDidLoad]; }
-(void) test
{
JobViewCtrl* jbc = [[JobViewCtrl alloc] init];
[self.navigationController pushViewController:jbc animated:YES]; //[self presentModalViewController:jbc animated:YES];
[jbc release];
}
(void)dealloc {
[super dealloc];
}
@end
@implementation JobViewCtrl
-(void) loadView
{
self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.view.backgroundColor = [UIColor grayColor];
UIButton* btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(80, 170, 150, 35);
[btn setTitle:@"Back Btn!" forState:UIControlStateNormal];
[self.view addSubview:btn];
}
@end