A adição de Uitabaccessory No iOS 26 é bem -vindo. No entanto, cria um problema no que diz respeito à compatibilidade com versões anteriores. Como você apresenta a nova visualização acessória sobre versões mais antigas do iOS?
Essa compatibilidade com versões anteriores é especialmente importante para Triodo. Muitas pessoas transformam um dispositivo mais antigo em um player de rádio dedicado. Eu tenho um iPad antigo na cozinha, por exemplo.
Então, o que você faz do outro lado da verificação de disponibilidade onde você define UITabBarController.bottomAccessory?
Você precisará criar duas subclasses: uma para UITabBarController e outro como classe base para todos os controladores de exibição que você adiciona como guias (a minha é nomeada criativa como TabViewController).
No UITabBarController subclasse, você fará o cheque para a disponibilidade em viewDidLoad E para versões mais antigas que o iOS 26, basta adicionar a visualização acessória à hierarquia de visualização do controlador de guia usando view.addSubview(accessoryView). Você também estilizará o accessoryView conforme necessário (por exemplo, adicionando um backgroundColor e cornerRadius). O mesmo reconhecedor de gestos é o anexo ao accessoryView Independentemente de como você o adiciona à barra da guia.
Então, dentro viewDidLayoutSubviewsvocê usa tabBar.frame para posicionar o accessoryView em relação aos controles da guia.
A outra peça do quebra -cabeça está fazendo os ajustes automáticos de inserção nas visualizações do controlador de guia. Em sua subclasse comum (por exemplo TabViewController), você implementará viewDidLayoutSubviews. No iOS 18 e anterior, você pode verificar se a visualização ou sua primeira subview é uma instância de UIScrollView. Se for, defina contentInsetAdjustmentBehavior para .always e fazer novo UIEdgeInsets Para corresponder às métricas que você usou no seu controlador de barra de guias.
(Nota lateral: se você estiver tendo problemas com o bottomAccessory No iOS 26 não está animando enquanto você rola, verifique se o seu UIScrollView é a primeira subview. Se algo como um campo de pesquisa é a primeira visão, ele não funcionará corretamente.)
No iOS 26, a barra de guias do Triodo se parece com o seguinte:

E graças ao trabalho acima, as pessoas em sistemas mais antigos podem usar a mesma visualização acessória:

Você não recebe as animações e efeitos sofisticados, mas as pessoas em dispositivos mais antigos apreciarão ter os mesmos recursos. E melhor contraste de texto 😉




