Uso do UITabBarController

Atualizar registros

Tempo Revisão
19 de abril de 2020 Primeira edição

Prefácio

  • A interface principal de muitos aplicativos no iOS é controlada por uma tabBar, que controla várias interfaces principais. Por exemplo, no WeChat, existem 4 TabBarItems na interface principal, correspondentes a "bate-papo", "catálogo de endereços", "descoberta" e "meu".
  • Para aplicativos iOS, é provável que o rootViewController do aplicativo seja uma subclasse personalizada de UITabBarController.
  • Portanto, é muito provável que o processamento de toda a empresa do aplicativo seja colocado nessa classe.

Pontos de conhecimento relacionados do UITabBarController

UITabBarController

  • Esta classe tem um atributo:
    • @property(nullable, nonatomic,copy) NSArray<__kindof UIViewController *> *viewControllers;
    • Depois de inicializar essa propriedade, o tabBarItem em UITabBarController corresponde a essa matriz de VC.
  • Por padrão, o item 0 da matriz está selecionado.
  • No tabBarItem clicado, o VC correspondente não será carregado.
  • O tabBarItem clicado, sua memória residente correspondente no VC, não será destruído.

UITabBarControllerItem

  • O UIViewController possui uma categoria chamadaUIViewController (UITabBarControllerItem)
  • Portanto, toda classe de VC personalizada que herda de UIViewController (também uma regra oculta no iOS, o VC personalizado deve herdar de UIViewController) tem a capacidade de se tornar um TabBarItem mantido por UITabBarController.
    • Lembra dos benefícios da classificação mencionados no "Tutorial básico do Objective-C"? Uma delas é que você pode dispersar códigos de classes diferentes em escopos diferentes. Neste exemplo, você pode colocar o código sobre o uso de Tab no UIViewController especificamente no arquivo UITabBarController.h para gerenciamento.
  • Posteriormente, você pode alterar a propriedade UITabBarItem do VC para corresponder ao comportamento do tabBarItem correspondente ao VC (como o título do tabBarItem, ícone etc.)

UITabBarControllerDelegate

  • É usado principalmente para personalizar alguns tempos de resposta. Por exemplo, selecione o evento tabBar.

Acho que você gosta

Origin www.cnblogs.com/HelloGreen/p/12735178.html
Recomendado
Clasificación