Pergunta

Eu tenho um aplicativo TabBar e quero que um popover venha de uma das guias. Existe uma maneira boa/fácil de fazer isso sem alterar as visualizações?

Foi útil?

Solução

Atualmente, não há uma maneira de diretamente (através de uma chamada de API suportada) obtenha o quadro de um item de barra de guia específico. O que eu faço é apenas mostrar o pop -up da extremidade esquerda da barra de guias como esta:

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

Você pode tentar estimar a posição do item da barra da guia, levando em consideração a orientação atual, se você realmente quisesse e ajustar a coordenada X do RET acima.

Você também pode examinar as subviews do TabBar e encontrar o objeto UitabBarbutton, mas isso não está documentado para que ele não seja recomendado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top