Tout d'abord, pouvons-nous parler d'iOS 5 ici? Ou est-ce encore sous NDA? Si nous ne pouvons pas en parler, ignorez simplement ma question. En testant mon application avec un iPad avec iOS 5 installé, j'ai découvert un problème avec mon popover "modal": Ceci peut être fermé en tapant à l'extérieur, en d'autres termes, ce n'est pas modal! Je n'ai aucune idée de ce que je fais de mal.UIPopoverController présenté de manière modale ne fonctionne pas dans iOS 5
Un contrôleur de vue ouvre la popover avec ce code:
AddProjectViewController *addProjectViewController = [[AddProjectViewController alloc] initWithStyle:UITableViewStyleGrouped];
[addProjectViewController setDelegate:self];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:addProjectViewController];
[addProjectViewController release];
CGRect popoverFrame = [sender frame];
UIPopoverController *tempPopover = [[UIPopoverController alloc] initWithContentViewController:navController];
[tempPopover presentPopoverFromRect:popoverFrame inView:[self view] permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
self.currentPopover = tempPopover;
[tempPopover release];
[navController release];
Le contrôleur de vue que l'intérieur est de la popover a cette ligne dans son viewDidLoad.
- (void)viewDidLoad
{
[self setModalInPopover:YES];
// Do other stuff
}
Y at-il quelque chose qui manque?
On dirait un bug pour moi. J'avais besoin de mettre [self setModalInPopover: [self isModalInPopover]] 'dans la méthode viewDidAppear, car je place cette valeur en externe dans le code qui crée le contrôleur de vue. – zeroimpl