Uso do UITabBarController
Others
2020-04-20 00:38:46
views: null
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 chamada
UIViewController (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.
Origin www.cnblogs.com/HelloGreen/p/12735178.html