J'ai une vue qui agit comme arrière-plan (gris clair 0,5 alpha) pour une autre vue d'alerte personnalisée.Masquer la sous-vue du contrôleur de vue différent
Lorsque l'utilisateur appuie sur le bouton OK de l'alerte personnalisée, je souhaite également masquer l'alerte personnalisée et la vue d'arrière-plan.
Les deux vues sont subviews du même superview ...
Je le fais dans la méthode buttonTapped:
pour cacher les points de vue, et il fonctionne pour la première tentative, mais à partir de la deuxième fois en avant, les vues de fond jamais rejeter ... les alertes se cachent correctement à chaque fois.
[UIView animateWithDuration:0.5f animations:^{
self.view.alpha=0.0f; //hide alert
[self.view.superview viewWithTag:1].alpha=0.0f; //hide background
}];
Ils sont ajoutés comme subviews, comme suit:
ResultDialogController *dialogController = [[[ResultDialogController alloc] initWithNibName:@"ResultDialogController_" bundle:nil] retain];
ResultBackgroundViewController *bgViewController = [[[ResultBackgroundViewController alloc] initWithNibName:@"ResultView" bundle:nil] retain];
dialogController.view.alpha=0;
bgViewController.view.alpha=0;
bgViewController.view.tag=1;
[UIView animateWithDuration:0.5f animations:^{
bgViewController.view.alpha=0.5f;
dialogController.view.alpha=1.0f;
}];
[self.view addSubview:bgViewController.view];
[self.view addSubview:dialogController.view];
[dialogController release];
[bgViewController release];
Comment puis-je rejeter toujours la vue d'arrière-plan?
Merci
Merci beaucoup, quelques modifications cependant ... après votre 'animateWithDuration: 0.5f' vous avez le mot' duration' qui ne devrait pas être là. Le gestionnaire de bloc d'achèvement doit également être 'achèvement:^(BOOL terminé) {' – joec
De rien. J'espère que cela aide. Et mise à jour post. –