UITableViewCell和UITableView的学习
一:自定义UITableViewCell:
先来看UITableView.h:
- (void)registerNib:(UINib *)nib forCellReuseIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(5_0);
- (void)registerClass:(Class)cellClass forCellReuseIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(6_0);
- (void)registerNib:(UINib *)nib forHeaderFooterViewReuseIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(6_0);
- (void)registerClass:(Class)aClass forHeaderFooterViewReuseIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(6_0);
大意是从iOS 6开始,我们能够为每个Cell注册一个nib文件或类,实现自定义Cell。
主要来看一下如何调用Cell.xib文件:
保证自定义Cell.xib文件identifier属性与使用该nib文件时给予的参数CellIdentifier一致,可通过
[tableView registerNib:[UINibnibWithNibName:@"Cell"bundle:nil] forCellReuseIdentifier:CellIdentifier];
来注册该nib文件,即可。
二:
UITableViewCell.h的一些自定义外观的属性:
@property(nonatomic,readonly,retain) UIImageView *imageView NS_AVAILABLE_IOS(3_0); // 默认为nil,必要时创建
@property(nonatomic,readonly,retain) UILabel *textLabel NS_AVAILABLE_IOS(3_0); // 默认为nil,必要时创建
@property(nonatomic,readonly,retain) UILabel *detailTextLabel NS_AVAILABLE_IOS(3_0); // 默认为nil,必要时创建(UITableViewStyle支持的情况下)
@property(nonatomic,readonly,retain) UIView *contentView; //内容视图;给Cell添加自己的视图时,添加到contentView中,这样可以在其他情况下保证视图定位的准确性
@property(nonatomic,retain) UIView *backgroundView; //背景视图
@property(nonatomic,retain) UIView *selectedBackgroundView;
// If not nil, takes the place of the selectedBackgroundView when using multiple selection.
@property(nonatomic,retain) UIView *multipleSelectionBackgroundView NS_AVAILABLE_IOS(5_0);
@property(nonatomic,readonly,copy) NSString *reuseIdentifier;//重用的Cell身份标记
@property(nonatomic) UITableViewCellSelectionStyle selectionStyle; //Cell被选中时的状态,默认是UITableViewCellSelectionStyleBlue.
@property(nonatomic,readonly) UITableViewCellEditingStyle editingStyle; // 默认是UITableViewCellEditingStyleNone.使用委托的值设置外观
因此,设置Cell的外观如背景时,应当设置Cell的contentView的背景颜色。