Ho il mio UIPopoverController con self come delegato: Ricevo le chiamate quando tocco fuori dal controller popover, ma quando tocco all'interno voglio anche chiudere, quindi uso -dismissPopoverAnimated: ma delegate non viene chiamato in questo caso. È normale? È un bug o sto facendo qualcosa di sbagliato?Ignora UIPopoverController con -dismissPopoverAnimato: non chiamerà delegato?
newDocPopoverController = [[UIPopoverController alloc] initWithContentViewController:vc];
[newDocPopoverController setPopoverContentSize:CGSizeMake(240, 44*4)];
[newDocPopoverController presentPopoverFromBarButtonItem:sender
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
[newDocPopoverController setDelegate:self];
UPDATE:
Oh, indipendentemente l'origine del problema (Se è un bug o questo è il comportamento previsto) chiamando il delegato da solo risolve il problema :)
Quando il contentViewController la vista viene toccata Chiamerò una chiamata al delegato di UIPopoverController padre.
if ([parentPopoverController.delegate popoverControllerShouldDismissPopover:parentPopoverController]){
[parentPopoverController dismissPopoverAnimated:YES];
[parentPopoverController.delegate popoverControllerDidDismissPopover:parentPopoverController];
}r];
Mi sono imbattuto nello stesso "problema", grazie per aver indicato come risolverlo; vale a dire. chiudere il popovercontroller quindi chiamare il metodo delegato. – Jack