J'essaie de naviguer dans un contrôleur de vue par programmation. J'ai déjà ajouté le UINavigationControllerDelegate dans le fichier d'en-tête ... Mais la vue n'a pas poussé quand j'ai cliqué sur le bouton .. Est-ce que quelqu'un peut dire que j'ai fait quelque chose à tort ???UINavigationController ne pousse pas correctement
-(void)nextPage
{
NSLog(@"1234");
infoViewController* info = [[infoViewController alloc] init];
[self.navigationController pushViewController:info animated:YES];
info = nil;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationController.delegate = self;
startFutureView = [[UIView alloc] initWithFrame:CGRectMake(160, 0, 320, 548)];
startFutureView.backgroundColor = [UIColor redColor];
[self.view addSubview:startFutureView];
startPastView = [[UIView alloc] initWithFrame:CGRectMake(-160, 0, 320, 548)];
startPastView.backgroundColor = [UIColor blueColor];
[self.view addSubview:startPastView];
startInfoBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
startInfoBtn.frame = CGRectMake(80, 137, 180, 180);
[startInfoBtn addTarget:self action:@selector(nextPage) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:startInfoBtn];
// Do any additional setup after loading the view, typically from a nib.
}
changer le NSLog pour se connecter self.navigationController . est-ce nul? – wattson12
Il suffit d'ajouter le navcontrollerdelegate au fichier d'en-tête. Avez-vous créé une instance de navigationController? est-il assigné à rootViewController de la fenêtre? Si votre viewController où vous essayez de pousser, n'est pas un rootviewcontroller d'un UINavigationController, rien ne se passera. Ajouter plus de code sur votre AppDelegate et ViewController aidera –