基类一:UITabbarController

一、简述

UITabbarController为具有多个顶级模式的应用程序管理按钮栏和转换视图。

要在应用程序中使用,请将其视图添加到视图层次结构中,然后依次添加顶级视图控制器。

大多数客户机不需要子类UItabarController。

如果在选项卡栏控制器中添加了五个以上的视图控制器,则只会显示前四个。其余部分将在自动生成的更多项目下访问。

如果所有视图控制器都可旋转,则uitabarcontroller可以旋转。

二、属性

//包含的控制器数组
@property(nullable, nonatomic,copy) NSArray<__kindof UIViewController *> *viewControllers;
//set
- (void)setViewControllers:(NSArray<__kindof UIViewController *> * __nullable)viewControllers animated:(BOOL)animated;

如果视图控制器的数量大于选项卡栏显示的数量,则会自动显示“更多”导航控制器。

-viewcontrollers不会返回“more”导航控制器,但-selectedviewcontroller可能会返回它。

@property(nullable, nonatomic, assign) __kindof UIViewController *selectedViewController;

当前选择的tabBar选项

@property(nonatomic) NSUInteger selectedIndex;

tabBarController提供的tabBar属性,避免直接修改选项栏的内容而引起抛出异常。

@property(nonatomic,readonly) UITabBar *tabBar NS_AVAILABLE_IOS(3_0);

代理属性

@property(nullable, nonatomic,weak) id delegate;

三、方法

遵循

选项栏是否可以点击

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController NS_AVAILABLE_IOS(3_0);

点击选中选项栏的时候触发

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;

以下方法不常用

更多,开始编辑

- (void)tabBarController:(UITabBarController *)tabBarController willEndCustomizingViewControllers:(NSArray<__kindof UIViewController *> *)viewControllers changed:(BOOL)changed NS_AVAILABLE_IOS(3_0) __TVOS_PROHIBITED;

更多,将要结束编辑

- (void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray<__kindof UIViewController *> *)viewControllers changed:(BOOL)changed __TVOS_PROHIBITED;

更多,已经结束编辑

- (void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray<__kindof UIViewController *> *)viewControllers changed:(BOOL)changed __TVOS_PROHIBITED;

屏幕旋转时,屏幕支持的方向

- (UIInterfaceOrientationMask)tabBarControllerSupportedInterfaceOrientations:(UITabBarController *)tabBarController NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;

子视图指定方向,跟子视图控制器有关

- (UIInterfaceOrientation)tabBarControllerPreferredInterfaceOrientationForPresentation:(UITabBarController *)tabBarController NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;

自定义切换交互式

- (nullable id )tabBarController:(UITabBarController *)tabBarController
                      interactionControllerForAnimationController: (id )animationController NS_AVAILABLE_IOS(7_0);

自定义切换动画

- (nullable id )tabBarController:(UITabBarController *)tabBarController
            animationControllerForTransitionFromViewController:(UIViewController *)fromVC
                                              toViewController:(UIViewController *)toVC  NS_AVAILABLE_IOS(7_0);

 

你可能感兴趣的:(iOS基类)