Como posso ter um popover vem de uma guia em vez de uma visão
-
25-09-2019 - |
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?
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