iOS UIKit框架学习—UITableViewCell

UITableViewCell类定义了在UITableView对象出现时每个单元格的属性和行为。该类包括设置和管理单元格内容和背景(包括文本、图像和自定义视图)的属性和方法,管理单元格的选择和突出状态,管理附件视图,以及启动单元格内容的编辑。

NS_CLASS_AVAILABLE_IOS(2_0) @interface UITableViewCell : UIView 

// 初始化设置风格,设置重用标识符
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(nullable NSString *)reuseIdentifier NS_AVAILABLE_IOS(3_0) NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER;

// 单元格中的图像视图(根据选择的方式视图位置会不同)
@property (nonatomic, readonly, strong, nullable) UIImageView *imageView NS_AVAILABLE_IOS(3_0);
// 文本主要内容标签
@property (nonatomic, readonly, strong, nullable) UILabel *textLabel NS_AVAILABLE_IOS(3_0);
// 详细内容的标签
@property (nonatomic, readonly, strong, nullable) UILabel *detailTextLabel NS_AVAILABLE_IOS(3_0);
// 单元格中的内容视图,可以添加自定义视图到内容视图上
@property (nonatomic, readonly, strong) UIView *contentView;
// 背景视图
@property (nonatomic, strong, nullable) UIView *backgroundView;
// 只用选中时才会显示的视图
@property (nonatomic, strong, nullable) UIView *selectedBackgroundView;
// 多重选择是的视图
@property (nonatomic, strong, nullable) UIView *multipleSelectionBackgroundView NS_AVAILABLE_IOS(5_0);
// 重用标识符
@property (nonatomic, readonly, copy, nullable) NSString *reuseIdentifier;
// 准备重用
- (void)prepareForReuse;
// 选中的风格
@property (nonatomic) UITableViewCellSelectionStyle   selectionStyle;
// 时候可以选中
@property (nonatomic, getter=isSelected) BOOL selected; //default is NO.
// 是否可以高亮
@property (nonatomic, getter=isHighlighted) BOOL highlighted;  // default is NO.
// 是否可以选中,是否带动画效果
- (void)setSelected:(BOOL)selected animated:(BOOL)animated;
// 是否可以高亮,是否带动画效果
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated;
// 编辑状态下单元格的风格
@property (nonatomic, readonly) UITableViewCellEditingStyle editingStyle;
// 是否重新排序
@property (nonatomic) BOOL showsReorderControl;        // default is NO
// 编辑状态下单元格是否缩进
@property (nonatomic) BOOL shouldIndentWhileEditing;   // default is YES.
// 单元格左侧附件样式
@property (nonatomic) UITableViewCellAccessoryType    accessoryType;
// 自定义附件视图
@property (nonatomic, strong, nullable) UIView *accessoryView;
// 编辑状态的附件样式
@property (nonatomic) UITableViewCellAccessoryType   editingAccessoryType;
// 编辑状态的自定义附件视图
@property (nonatomic, strong, nullable) UIView    *editingAccessoryView;
// 单元格内容的缩进级别
@property (nonatomic) NSInteger indentationLevel; // default is 0
// 单元格内容宽度缩进级别
@property (nonatomic) CGFloat indentationWidth; //  default is 10.0
// 设置间隔
@property (nonatomic) UIEdgeInsets separatorInset NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR __TVOS_PROHIBITED;
// 是否编辑状态
@property (nonatomic, getter=isEditing) BOOL editing;
- (void)setEditing:(BOOL)editing animated:(BOOL)animated;
// 单元格是否显示删除按钮
@property(nonatomic, readonly) BOOL showingDeleteConfirmation;  // currently showing "Delete" button
// 聚焦样式
@property (nonatomic) UITableViewCellFocusStyle   focusStyle NS_AVAILABLE_IOS(9_0) UI_APPEARANCE_SELECTOR;

// 当单元格将要改变的时候调用
- (void)willTransitionToState:(UITableViewCellStateMask)state NS_AVAILABLE_IOS(3_0);
// 当单元格已经改变的时候调用
- (void)didTransitionToState:(UITableViewCellStateMask)state NS_AVAILABLE_IOS(3_0);

@end

// 单元格风格
typedef NS_ENUM(NSInteger, UITableViewCellStyle) {
UITableViewCellStyleDefault,    // 左侧显示textLabel(不显示detailTextLabel),imageView可选(显示在最左边)
UITableViewCellStyleValue1,     // 左侧显示textLabel、右侧显示detailTextLabel(默认蓝色),imageView可选(显示在最左边
UITableViewCellStyleValue2,     // 左侧依次显示textLabel(默认蓝色)和detailTextLabel,imageView可选(显示在最左边)
UITableViewCellStyleSubtitle    // 左上方显示textLabel,左下方显示detailTextLabel(默认灰色),imageView可选(显示在最左边)
};

// 单元格分割样式
typedef NS_ENUM(NSInteger, UITableViewCellSeparatorStyle) {
UITableViewCellSeparatorStyleNone, // 无
UITableViewCellSeparatorStyleSingleLine, // 有单条分割线,默认
UITableViewCellSeparatorStyleSingleLineEtched   // 两条分割线
} __TVOS_PROHIBITED;

// 单元格选中样式
typedef NS_ENUM(NSInteger, UITableViewCellSelectionStyle) {
UITableViewCellSelectionStyleNone, // 无
UITableViewCellSelectionStyleBlue, // 默认选中样式
UITableViewCellSelectionStyleGray, // 选中呈现灰色
UITableViewCellSelectionStyleDefault NS_ENUM_AVAILABLE_IOS(7_0) // 表格单元格显示样式
};

// 聚焦样式
typedef NS_ENUM(NSInteger, UITableViewCellFocusStyle) {
UITableViewCellFocusStyleDefault, // 当聚焦时采用系统默认样式
UITableViewCellFocusStyleCustom // 当聚焦是采用自定义样式
} NS_ENUM_AVAILABLE_IOS(9_0);

// 编辑状态样式
typedef NS_ENUM(NSInteger, UITableViewCellEditingStyle) {
UITableViewCellEditingStyleNone, // 无
UITableViewCellEditingStyleDelete, // 删除
UITableViewCellEditingStyleInsert // 插入
};

// 附件样式
typedef NS_ENUM(NSInteger, UITableViewCellAccessoryType) {
UITableViewCellAccessoryNone, // 无
UITableViewCellAccessoryDisclosureIndicator, // 箭头
UITableViewCellAccessoryDetailDisclosureButton __TVOS_PROHIBITED, // 显示详情符号和灰色箭头
UITableViewCellAccessoryCheckmark, // 复选框
UITableViewCellAccessoryDetailButton NS_ENUM_AVAILABLE_IOS(7_0)  __TVOS_PROHIBITED
};

// 表格状态
typedef NS_OPTIONS(NSUInteger, UITableViewCellStateMask) {
UITableViewCellStateDefaultMask                     = 0, // 默认
UITableViewCellStateShowingEditControlMask          = 1 << 0, // 编辑状态
UITableViewCellStateShowingDeleteConfirmationMask   = 1 << 1 // 删除状态
};

你可能感兴趣的:(iOS UIKit框架学习—UITableViewCell)