Pregunta

Tengo una aplicación de barra de pestañas, y quiero un popover que venir de una de las fichas. ¿Hay una buena manera / fácil de hacer esto sin cambiar puntos de vista?

¿Fue útil?

Solución

No hay actualmente una forma de forma directa (a través de una llamada de API compatible) obtener el marco de un elemento de la barra pestaña específica. Lo que hago es simplemente mostrar la ventana emergente desde el extremo izquierdo de la barra de pestañas como esto:

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];

Se podría tratar de estimar la posición del elemento de barra de pestañas de tomar la orientación actual en cuenta si realmente quería y ajustar la coordenada X de la rect anteriormente.

También podría mirar a través de los subvistas de la barra de pestañas y encontrar el objeto UITabBarButton pero eso no es documentado por lo que no es recomendable.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top