4.2 UITabBarItem

UITabBarItem

UITabBarItem类实现了一个带标签栏的项目,UITabBar类的实例。一个标签栏严格地以收音机模式来运作,其中一个项目是在选定的时间,点击标签栏项目切换上面的标签栏。您还可以指定在标签栏上项目的信息,例如加入额外的视觉徽章值,电话应用程序上使用该项目的徽章,以显示新邮件的数量。这个类还提供了一些系统默认创建的项目。

一、简述

继承关系:UITabBarItem-->UIBarItem-->NSObject

二、属性

tabBarItem图标样式

typedef NS_ENUM(NSInteger, UITabBarSystemItem) {
     UITabBarSystemItemMore,//更多图标
     UITabBarSystemItemFavorites,//最爱图标
     UITabBarSystemItemFeatured,//特征图标
     UITabBarSystemItemTopRated,//高级图标
     UITabBarSystemItemRecents,//最近图标
     UITabBarSystemItemContacts,//联系人图标
     UITabBarSystemItemHistory,//历史图标
     UITabBarSystemItemBookmarks,//图书图标
     UITabBarSystemItemSearch,//查找图标
     UITabBarSystemItemDownloads,//下载图标
     UITabBarSystemItemMostRecent,//记录图标
     UITabBarSystemItemMostViewed,//全部查看图标
};

选中图片

@property(nullable, nonatomic,strong) UIImage *selectedImage NS_AVAILABLE_IOS(7_0);

角标提示,小红点

@property(nullable, nonatomic, copy) NSString *badgeValue;
image.png

文字标签的相对位置

@property (nonatomic, readwrite, assign) UIOffset titlePositionAdjustment NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;

角标颜色

@property (nonatomic, readwrite, copy, nullable) UIColor *badgeColor NS_AVAILABLE_IOS(10_0) UI_APPEARANCE_SELECTOR;

三、初始化方法:

- (instancetype)init NS_DESIGNATED_INITIALIZER;
//xib
- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithTitle:(nullable NSString *)title image:(nullable UIImage *)image tag:(NSInteger)tag;
- (instancetype)initWithTitle:(nullable NSString *)title image:(nullable UIImage *)image selectedImage:(nullable UIImage *)selectedImage NS_AVAILABLE_IOS(7_0);
- (instancetype)initWithTabBarSystemItem:(UITabBarSystemItem)systemItem tag:(NSInteger)tag;

set方法

- (void)setFinishedSelectedImage:(nullable UIImage *)selectedImage withFinishedUnselectedImage:(nullable UIImage *)unselectedImage NS_DEPRECATED_IOS(5_0,7_0,"Use initWithTitle:image:selectedImage: or the image and selectedImage properties along with UIImageRenderingModeAlwaysOriginal") __TVOS_PROHIBITED;
- (nullable UIImage *)finishedSelectedImage NS_DEPRECATED_IOS(5_0,7_0) __TVOS_PROHIBITED;
- (nullable UIImage *)finishedUnselectedImage NS_DEPRECATED_IOS(5_0,7_0) __TVOS_PROHIBITED;
 
//角标
- (void)setBadgeTextAttributes:(nullable NSDictionary *)textAttributes forState:(UIControlState)state NS_AVAILABLE_IOS(10_0) UI_APPEARANCE_SELECTOR;
//返回设置的角标属性
- (nullable NSDictionary *)badgeTextAttributesForState:(UIControlState)state NS_AVAILABLE_IOS(10_0) UI_APPEARANCE_SELECTOR;

四 、常见使用场景:

  • 未读数小红点
  • 切换增加lottie动画
  • 自定义item

参考文章:
基类三:UITabBarItem

你可能感兴趣的:(4.2 UITabBarItem)