iOS UITableView简介 —— HERO博客

来源:互联网 发布:淘宝产品拍摄相机选择 编辑:程序博客网 时间:2024/05/11 14:50

UITableView简介:

UITableView是iOS中使用最广泛的控件,继承UIScrollView,是一个一维的表格(只有行)

UITableView属性

UITableViewCellStyleDefault:样式,左侧显示textLabel(不显示detailTextLabel),imageView可选(显示在最左边)

UITableViewCellStyleValue1:样式,左侧显示textLabel、右侧显示detailTextLabel(默认蓝色),imageView可选(显示在最左边)

UITableViewCellStyleValue2:样式,左侧依次显示textLabel(默认蓝色)和detailTextLabel,imageView可选(显示在最左边)

UITableViewCellStyleSubtitle:样式,左上方显示textLabel,左下方显示detailTextLabel(默认灰色),imageView可选(显示在最左边)

UITableViewDataSourceUITableViewDelegate:代理协议

cell:展示的内容,可复用

contentView:UITableViewCell内部默认的子视图,contentView是UITableViewCell所显示内容的父视图,可显示一些辅助指示视图,contentView下默认有3个子视图,其中2个是UILabel(通过UITableViewCell的textLabel和detailTextLabel属性访问),第3个是UIImageView(通过UITableViewCell的imageView属性访问)

UITableView使用:

//创建cell

    static NSString *identifier = @"identifier";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];

    if (cell == nil) {

        cell = [[UITableViewCell alloc] initWithStyle:(UITableViewCellStyleDefault) reuseIdentifier:identifier];

    }

#pragma mark - Table view data source

//组数

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView


//组中行数

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section


//cell内容

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath


//点击事件

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath


//小按钮点击事件

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath


//设置头部标题

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section;


//设置尾部标题

- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section


//设置行高

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath


//是否允许行移动

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath


//能否滑动

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath


//删除按钮的名字

- (NSString*)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath


//编辑

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath



2 0