#if USE_UIKIT_PUBLIC_HEADERS || !__has_include(<UIKitCore/UIBarItem.h>)
//
// UIBarItem.h
// UIKit
//
// Copyright (c) 2008-2018 Apple Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIGeometry.h>
#import <UIKit/UIKitDefines.h>
#import <UIKit/UIAppearance.h>
#import <UIKit/UIControl.h>
NS_ASSUME_NONNULL_BEGIN
@class UIImage;
#pragma mark - 标签项
#pragma mark -
/*
- UIBarItem
BarItem的父类,可以用于屏幕底部显示的栏中
- 概述
UIBarItem上的行为类似于按钮(UIButton);有title/image/action/target;还可以启用和禁用栏上的Item
- 定制外貌
可以分别使用image和imageInsets自定义图像以表示项目和图像的位置
在iOS5.0及更高版本中,当您分别使用landscapeImagePhone和landscapeImagePhoneInsets使用iPhone外观惯用语时,您还可以指定自定义图像和横向使用的位置;
另外,可以使用setTitleTextAttributes: forState: 为单个项目自定义标题的文本属性,或者使用外观代理自定义所有项目(如:[UIBarItem appearance])
*/
NS_CLASS_AVAILABLE_IOS(2_0) @interface UIBarItem : NSObject <NSCoding, UIAppearance>
/* 实例化 */
- (instancetype)init NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER;
// 设置 是否启用(默认:YES)
@property(nonatomic,getter=isEnabled) BOOL enabled;
// 设置 Bar标题(通过当前栈顶子控制器控制;默认:nil)
@property(nullable, nonatomic,copy) NSString *title;
// 设置 Bar图片(默认状态下图片;通过当前栈顶子控制器控制;默认:nil)
@property(nullable, nonatomic,strong) UIImage *image;
// 设置 Bar图片(设备旋转至横向时的图片;默认:nil)
@property(nullable, nonatomic,strong) UIImage *landscapeImagePhone NS_AVAILABLE_IOS(5_0) __TVOS_PROHIBITED;
// 设置 Bar图片(高分辨率图片,用于展示给有视力障碍的用户;如果为nil,当用户选择放大查看会把原图放大;默认:nil)
@property(nullable, nonatomic,strong) UIImage *largeContentSizeImage API_AVAILABLE(ios(11.0));
// 设置 图片偏移量(默认状态图片的偏移量;默认:UIEdgeInsetsZero)
@property(nonatomic) UIEdgeInsets imageInsets;
// 设置 图片偏移量(设备旋转至横向时图片的偏移量;设置了landscapeImagePhone属性后此属性才生效;默认:UIEdgeInsetsZero)
@property(nonatomic) UIEdgeInsets landscapeImagePhoneInsets NS_AVAILABLE_IOS(5_0) __TVOS_PROHIBITED;
// 设置 图片偏移量(高分辨率图片的偏移量;设置了largeContentSizeImage属性后此属性才生效;默认:UIEdgeInsetsZero)
@property(nonatomic) UIEdgeInsets largeContentSizeImageInsets API_AVAILABLE(ios(11.0));
// 设置 标签(默认:0)
@property(nonatomic) NSInteger tag;
/**
设置 属性文字内容(可以使用NSAttributedString.h中的键在文本属性字典中指定标题的字体,文本颜色和阴影属性)
@param attributes 自定义Attributes
@param state 指定状态
*/
- (void)setTitleTextAttributes:(nullable NSDictionary<NSAttributedStringKey,id> *)attributes forState:(UIControlState)state NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
// 获取 -setTitleTextAttributes设置的所有NSAttributedStringKey
- (nullable NSDictionary<NSAttributedStringKey,id> *)titleTextAttributesForState:(UIControlState)state NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
@end
NS_ASSUME_NONNULL_END
#else
#import <UIKitCore/UIBarItem.h>
#endif
网友评论