UITabBarController

一:特征:

1、本质也是视图管理器,用于管理没有层级关系的UIView或者其子类。

2、由两部分组成:一是用于显示视图的UIViewController,另外一个是UITabBar用于控制管理的子视图之间的切换。

二:创建:

UITabBarController *控制器名字 = [UITabBarController new];

其中每个子视图或者自控制器的UITabBar由TabBarController其上UIViewController的TabBarItem属性设置。

UITabBarItem类实例化有三种方法:

第一种:用系统提供的UITabBar来初始化对象

- (instancetype)initWithTabBarSystemItem:(UITabBarSystemItem)systemItem tag:(NSInteger)tag;

第二种:自己来指定UITarBar中显示的文字以及不同状态时候显示的图片。

这个方法中的三个参数分别是:

title:TabBarButton下显示的文字

Image:TabBarButton默认状态下显示的图片

selectedImage:选中当前TabBar状态下,TabBarButton显示的图片

- (instancetype)initWithTitle:(nullableNSString*)title image:(nullableUIImage*)image selectedImage:(nullableUIImage*)selectedImageNS_AVAILABLE_IOS(7_0);

使用自定义的TabBar的时候如果不想系统默认的图片渲染样式,可以使用指定的枚举值修改图片的渲染模式,方法如下:

*UIImage对象 =  [image对象  imageWIthRenderingMode:枚举值];

其中枚举值中:UIImageRenderingModeAlwaysOriginal //是关闭渲染效果。

第三种:

- (instancetype)initWithTitle:(nullableNSString*)title image:(nullableUIImage*)image tag:(NSInteger)tag;

我们还可以通过TabBarItem属性中的badgeValue属性在TabBarButton上显示NSString.

#pragma mark ========TabBarController常用属性==========

===============首先是UITabBarButton的属性========

//给UITabBarButton着色

@property(null_resettable,nonatomic,strong)UIColor*tintColorNS_AVAILABLE_IOS(5_0);

//设置UITaBar的阴影图片

@property(nullable,nonatomic,strong)UIImage*shadowImageNS_AVAILABLE_IOS(6_0)

//设置UITabBar的放置位置

@property(nonatomic)UITabBarItemPositioningitemPositioningNS_AVAILABLE_IOS(7_0)UI_APPEARANCE_SELECTOR__TVOS_PROHIBITED;

//设置UITabBar的样式

@property(nonatomic)UIBarStylebarStyleNS_AVAILABLE_IOS(7_0)UI_APPEARANCE_SELECTOR__TVOS_PROHIBITED;

=================其次是UITabBar的属性============

//给整个UITabBar着色

@property(nullable,nonatomic,strong)UIColor*barTintColorNS_AVAILABLE_IOS(7_0)UI_APPEARANCE_SELECTOR;// default is nil

#pragma mark ========UITabBarController的代理方法==========

//当UITabBarController的某个控制器被选中时候出发的方法。

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

- (void)tabBarController:(UITabBarController*)tabBarController willBeginCustomizingViewControllers:(NSArray<__kindofUIViewController*> *)viewControllersNS_AVAILABLE_IOS(3_0)__TVOS_PROHIBITED;

- (void)tabBarController:(UITabBarController*)tabBarController willEndCustomizingViewControllers:(NSArray<__kindofUIViewController*> *)viewControllers changed:(BOOL)changedNS_AVAILABLE_IOS(3_0)__TVOS_PROHIBITED;

- (void)tabBarController:(UITabBarController*)tabBarController didEndCustomizingViewControllers:(NSArray<__kindofUIViewController*> *)viewControllers changed:(BOOL)changed__TVOS_PROHIBITED;

你可能感兴趣的:(UITabBarController)