Question

J'ai une application TabBar, et je veux un popover à venir d'un des onglets. Yat-il un bon moyen / facile de faire cela sans changer de vue?

Était-ce utile?

La solution

Il n'y a pas actuellement un moyen directement (par un appel api pris en charge) obtenir le cadre d'un élément de la barre d'onglet spécifique. Ce que je fais est juste montrer le menu contextuel de l'extrémité gauche de la barre d'onglets comme ceci:

CGFloat tabBarHeight = self.tabBarController.tabBar.bounds.size.height;
CGRect rect = CGRectMake(0, 0, tabBarHeight, tabBarHeight);
[popoverController presentPopoverFromRect:rect 
    inView:self.tabBarController.tabBar 
    permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];

Vous pouvez essayer d'estimer la position de l'élément de barre d'onglets en prenant l'orientation actuelle en compte si vous voulez vraiment et régler la coordonnée X du rect ci-dessus.

Vous pouvez aussi regarder à travers les sous-vues de la barre d'onglets et trouver l'objet UITabBarButton mais ce n'est pas documenté il est donc pas recommandé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top