//
// UITableViewCell.h
// UIKit
//
// Copyright (c) 2005-2013, Apple Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreGraphics/CoreGraphics.h>
#import <UIKit/UIView.h>
#import <UIKit/UIStringDrawing.h>
#import <UIKit/UIKitDefines.h>
#import <UIKit/UIGestureRecognizer.h>
@class UIImage, UIColor, UILabel, UIImageView, UIButton, UITextField, UITableView, UILongPressGestureRecognizer;
typedef NS_ENUM(NSInteger, UITableViewCellStyle) {
UITableViewCellStyleDefault,
UITableViewCellStyleValue1,
UITableViewCellStyleValue2,
UITableViewCellStyleSubtitle
}; // available in iPhone OS 3.0
typedef NS_ENUM(NSInteger, UITableViewCellSeparatorStyle) {
UITableViewCellSeparatorStyleNone, // 没有分割线
UITableViewCellSeparatorStyleSingleLine, // 有一条分割线
UITableViewCellSeparatorStyleSingleLineEtched // cell没有分割线,没有添加cell的行有分割线
};
typedef NS_ENUM(NSInteger, UITableViewCellSelectionStyle) {
// 选中样式
UITableViewCellSelectionStyleNone,
UITableViewCellSelectionStyleBlue,
UITableViewCellSelectionStyleGray,
UITableViewCellSelectionStyleDefault NS_ENUM_AVAILABLE_IOS(7_0)
};
typedef NS_ENUM(NSInteger, UITableViewCellEditingStyle) {
// 编辑样式
UITableViewCellEditingStyleNone,
UITableViewCellEditingStyleDelete,
UITableViewCellEditingStyleInsert
};
typedef NS_ENUM(NSInteger, UITableViewCellAccessoryType) {
UITableViewCellAccessoryNone, // 空白,没有东西
UITableViewCellAccessoryDisclosureIndicator, // 只有一个箭头
UITableViewCellAccessoryDetailDisclosureButton, // 有一个箭头和显示详情的圆圈i
UITableViewCellAccessoryCheckmark, // 有一个勾
UITableViewCellAccessoryDetailButton NS_ENUM_AVAILABLE_IOS(7_0) // 只有显示详情的圆圈i
};
typedef NS_OPTIONS(NSUInteger, UITableViewCellStateMask) {
UITableViewCellStateDefaultMask = 0,
UITableViewCellStateShowingEditControlMask = 1 << 0,
UITableViewCellStateShowingDeleteConfirmationMask = 1 << 1
};
#define UITableViewCellStateEditingMask UITableViewCellStateShowingEditControlMask
NS_CLASS_AVAILABLE_IOS(2_0) @interface UITableViewCell : UIView <NSCoding, UIGestureRecognizerDelegate>
// 为了优化性能,将已经不可见的cell放入缓存池,下次直接从缓存池取出来,就不用重新创建新对象,需要一个重用标识
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier NS_AVAILABLE_IOS(3_0);
@property (nonatomic, readonly, retain) UIImageView *imageView NS_AVAILABLE_IOS(3_0); // 默认是空,如果需要可以创建
@property (nonatomic, readonly, retain) UILabel *textLabel NS_AVAILABLE_IOS(3_0); // 默认是空,如果需要可以创建
@property (nonatomic, readonly, retain) UILabel *detailTextLabel NS_AVAILABLE_IOS(3_0); // 默认是空,如果需要可以创建 (并且当前的样式也适用于detailTextLabel).
@property (nonatomic, readonly, retain) UIView *contentView;
// 在 UITableViewStylePlain样式下,默认还是空, 而在UITableViewStyleGrouped状态下不是空的. backgroundView会添加在所有子控件的最下面.
@property (nonatomic, retain) UIView *backgroundView;
@property (nonatomic, retain) UIView *selectedBackgroundView; // 选中后的背景视图
@property (nonatomic, retain) UIView *multipleSelectionBackgroundView NS_AVAILABLE_IOS(5_0);
@property (nonatomic, readonly, copy) NSString *reuseIdentifier;
- (void)prepareForReuse;
@property (nonatomic) UITableViewCellSelectionStyle selectionStyle; // 选择样式,默认是蓝色的样式
@property (nonatomic, getter=isSelected) BOOL selected; // 是否被选择的状态(title, image, background). 默认是 NO. 动画不可用(NO)
@property (nonatomic, getter=isHighlighted) BOOL highlighted; // 设置高亮状态(title, image, background).默认是 NO. 动画不可用(NO)
- (void)setSelected:(BOOL)selected animated:(BOOL)animated; // animate between regular and selected state
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated; // animate between regular and highlighted state
@property (nonatomic, readonly) UITableViewCellEditingStyle editingStyle; // 编辑样式
@property (nonatomic) BOOL showsReorderControl; // 默认 NO
@property (nonatomic) BOOL shouldIndentWhileEditing; // default is YES. This is unrelated to the indentation level below.
@property (nonatomic) UITableViewCellAccessoryType accessoryType; // 右边的箭头使用这个方式
@property (nonatomic, retain) UIView *accessoryView; // 通过这个属性来将右边的辅助视图改成开关什么的自定义视图
@property (nonatomic) UITableViewCellAccessoryType editingAccessoryType; // 编辑辅助样式
@property (nonatomic, retain) UIView *editingAccessoryView; // if set, use custom view. ignore editingAccessoryType. tracks if enabled can calls accessory action
@property (nonatomic) NSInteger indentationLevel; // adjust content indent. default is 0
@property (nonatomic) CGFloat indentationWidth; // width for each level. default is 10.0
@property (nonatomic) UIEdgeInsets separatorInset NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR; // allows customization of the separator frame
@property(nonatomic, getter=isEditing) BOOL editing;
- (void)setEditing:(BOOL)editing animated:(BOOL)animated; // 设置可编辑和可显示动画
@property(nonatomic, readonly) BOOL showingDeleteConfirmation; // 实时显示 Delete 按钮
- (void)willTransitionToState:(UITableViewCellStateMask)state NS_AVAILABLE_IOS(3_0);
- (void)didTransitionToState:(UITableViewCellStateMask)state NS_AVAILABLE_IOS(3_0);
@end
#pragma - mark 已经失效的方法
@interface UITableViewCell (UIDeprecated)
// 形状不可更改. 大小会随着内部table view的宽高来调整
- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier NS_DEPRECATED_IOS(2_0, 3_0);
// Content properties. These properties were deprecated in iPhone OS 3.0. The textLabel and imageView properties above should be used instead.
// For selected attributes, set the highlighted attributes on the textLabel and imageView.
@property (nonatomic, copy) NSString *text NS_DEPRECATED_IOS(2_0, 3_0); // 显示文本,默认是空 default is nil
@property (nonatomic, retain) UIFont *font NS_DEPRECATED_IOS(2_0, 3_0); // 文本显示字体,默认是空,显示系统字体
@property (nonatomic) NSTextAlignment textAlignment NS_DEPRECATED_IOS(2_0, 3_0); // 文本对齐方式,默认左对齐
@property (nonatomic) NSLineBreakMode lineBreakMode NS_DEPRECATED_IOS(2_0, 3_0); // default is UILineBreakModeTailTruncation
@property (nonatomic, retain) UIColor *textColor NS_DEPRECATED_IOS(2_0, 3_0); // default is nil (text draws black)
@property (nonatomic, retain) UIColor *selectedTextColor NS_DEPRECATED_IOS(2_0, 3_0); // default is nil (text draws white)
@property (nonatomic, retain) UIImage *image NS_DEPRECATED_IOS(2_0, 3_0); // default is nil. appears on left next to title.
@property (nonatomic, retain) UIImage *selectedImage NS_DEPRECATED_IOS(2_0, 3_0); // default is nil
// Use the new editingAccessoryType and editingAccessoryView instead
@property (nonatomic) BOOL hidesAccessoryWhenEditing NS_DEPRECATED_IOS(2_0, 3_0); // default is YES
// Use the table view data source method -tableView:commitEditingStyle:forRowAtIndexPath: or the table view delegate method -tableView:accessoryButtonTappedForRowWithIndexPath: instead
@property (nonatomic, assign) id target NS_DEPRECATED_IOS(2_0, 3_0); // target for insert/delete/accessory clicks. default is nil (i.e. go up responder chain). weak reference
@property (nonatomic) SEL editAction NS_DEPRECATED_IOS(2_0, 3_0); // action to call on insert/delete call. set by UITableView
@property (nonatomic) SEL accessoryAction NS_DEPRECATED_IOS(2_0, 3_0); // action to call on accessory view clicked. set by UITableView
@end
UITableViewCell.h
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- objc-runtime.h 中代码: #include <objc/runtime.h> #include<ob...
- 今天分享的是我3月末我和我的一个朋友X哥的QQ聊天总结。X哥比我大几岁,在过去的一年里给我了巨大的帮助,不管是学习...
- 因为在“得到”APP上订阅了李笑来的“通往财富自由之路”专栏,我每周都会对这个栏目当周的主题进行留言。从这周...