2010-07-30 9 views
3

Je voudrais présenter un UIPopover à partir d'un index spécifique UITableView. Voici mon code:Est-il possible de présenter un UIPopover à partir d'un index UITableView?

if (indexPath.row == 5) { 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
    EnginesPopoverController *enginesPopoverController = [[EnginesPopoverController alloc] initWithNibName:@"EnginesPopoverController" bundle:nil]; 

    UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:enginesPopoverController]; 

    self.popoverController = popover; 
    popoverController.delegate = self; 

    [popover release]; 
    [enginesPopoverController release]; 

    CGPoint point = {670, 600}; 
    CGSize size = {450, 216}; 

    [popoverController presentPopoverFromRect:CGRectMake(point.x, point.y, size.width, size.height) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];     
} 

Si je tente de présenter le Popover d'un UIButton il va bien ...

Merci!

+0

Dans quel procédé ce code est-il défini? – kennytm

+0

- (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath –

Répondre

0

C'est ce que je fais:

CGRect cellRect = [self.tableView rectForRowAtIndexPath:indexPath]; 
CGRect popoverRect = CGRectMake(self.view.bounds.size.width - self.popoverController.popoverContentSize.width, 
           CGRectGetMidY(cellRect), 
           1.0, 1.0); 

L'emplacement x J'utilise la place popover sur la droite de l'écran. Ce n'est peut-être pas ce que vous voulez. Pour trouver le point de contact réel, vous pouvez utiliser des reconnaisseurs de mouvements.

En retour, s'il vous plaît essayer de répondre à ma question connexe: Popover's arrow to track an object in a scrollview

0

Manipuler le code de David Je suis arrivé à ceci: (mon pop est appelé « storytPop ») - mon popover est de la barre d'outils et je voulais la prochaine vue de la table pour montrer à droite.

CGRect cellRect = [self.tableView rectForRowAtIndexPath:indexPath]; 
[self.storytPop presentPopoverFromRect:cellRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];