UITableViewCell类学习

原创 2015年07月08日 19:38:21

Figure 5-1  Parts of a table view cell


 

 

Figure 5-2  Parts of a table-view cell in editing mode


 

 

Figure 5-3  Default cell content in a UITableViewCell object


 

源文档 <https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TableView_iPhone/TableViewCells/TableViewCells.html#//apple_ref/doc/uid/TP40007451-CH7>

 

如上是一个table view cell的组成视图(第二张是编辑状态下的)。

如下是参看iOS源文档整理的UITableViewCell类的属性及方法。

 

  1. - (instancetype)initWithStyle:(UITableViewCellStyle)style  reuseIdentifier:(NSString *)reuseIdentifier

Initializes a table cell with a style and a reuse identifier and returns it to the caller.

使用指定的风格和重用ID初始化一个table cell

该方法会在tableView调用dequeueReusableCellWithIdentifier:时被调用

 

typedef enum : NSInteger {

   UITableViewCellStyleDefault,

   UITableViewCellStyleValue1,

   UITableViewCellStyleValue2,

   UITableViewCellStyleSubtitle

} UITableViewCellStyle;

 

 

  1. @property(nonatomic, readonly, copy) NSString *reuseIdentifier

A string used to identify a cell that is reusable. (read-only)

标记一个可复用的cell字符串,只读

 

  1. - (void)prepareForReuse

Prepares a reusable cell for reuse by the table view'€™s delegate.

table view的委托准备一个可复用的cell

该方法会在tableView调用dequeueReusableCellWithIdentifier:方法时在返回cell前被调用,该方法仅可以修改除内容外的cell的属性,如透明度、编辑或选中时的状态等,其他与内容相关的(图片、文本框等)在委托方法

 tableView:cellForRowAtIndexPath:中修改

 

  1. @property(nonatomic, readonly, retain) UILabel *textLabel

Returns the label used for the main textual content of the table cell. (read-only)

返回cell内容的主要文本框的文本对象,对象

 

  1. @property(nonatomic, readonly, retain) UILabel *detailTextLabel

Returns the secondary label of the table cell if one exists. (read-only)

返回cell的第二部分文本对象,只读

cell风格为UITableViewCellStyleDefault时该属性可忽略

 

  1. @property(nonatomic, readonly, retain) UIImageView *imageView

Returns the image view of the table cell. (read-only)

返回cell的图片视图,只读

 

  1. @property(nonatomic, readonly, retain) UIView *contentView

Returns the content view of the cell object. (read-only)

返回cell的内容视图,只读

该视图是其他自定义视图的容器,可通过addSubView方法来嵌入自定义视图

 

  1. @property(nonatomic, retain) UIView *backgroundView

The view used as the background of the cell.

cell的背景视图

 

  1. @property(nonatomic, retain) UIView *selectedBackgroundView

The view used as the background of the cell when it is selected.

cell被选中时的背景视图

 

  1. @property(nonatomic, retain) UIView *multipleSelectionBackgroundView

The background view to use for a selected cell when the table view allows multiple row selections.

多行cell被选中时的背景视图

可通过tableView对象的 allowsMultipleSelection属性和allowsMultipleSelectionDuringEditing 属性来使能多行选则

 

  1. @property(nonatomic) UITableViewCellAccessoryType accessoryType

The type of standard accessory view the cell should use (normal state).

标准附加视图风格

accessoryView属性被设置时本属性可被忽略

 

typedef enum : NSInteger {

   UITableViewCellAccessoryNone,

   UITableViewCellAccessoryDisclosureIndicator,

   UITableViewCellAccessoryDetailDisclosureButton,

   UITableViewCellAccessoryCheckmark,

   UITableViewCellAccessoryDetailButton

} UITableViewCellAccessoryType;

 

  1. @property(nonatomic, retain) UIView *accessoryView

A view that is used, typically as a control, on the right side of the cell (normal state).

cell附加视图

若该属性为nil可通过accessoryType 选择附加视图的显示风格

 

 

  1. @property(nonatomic) UITableViewCellAccessoryType editingAccessoryType

The type of standard accessory view the cell should use in the table view’s editing state.

cell附加视图在编辑状态下的标准风格

editingAccessoryView被设置时本属性可被忽略

 

  1. @property(nonatomic, getter=isSelected) BOOL selected

A Boolean value that indicates whether the cell is selected.

指示cell是否被选中,可设置该属性为YES使cell处在被选中状态(非动画)

 

  1. @property(nonatomic) UITableViewCellSelectionStyle selectionStyle

The style of selection for a cell.

cell被选中时的风格

 

typedef enum : NSInteger {

   UITableViewCellSelectionStyleNone,

   UITableViewCellSelectionStyleBlue,

   UITableViewCellSelectionStyleGray,

   UITableViewCellSelectionStyleDefault

} UITableViewCellSelectionStyle;

 

  1. - (void)setSelected:(BOOL)selected  animated:(BOOL)animated

Sets the selected state of the cell, optionally animating the transition between states.

设置cell处在被选中状态,动画方式(可选)

 

  1. @property(nonatomic, getter=isHighlighted) BOOL highlighted

A Boolean value that indicates whether the cell is highlighted.

指示cell是否处在高亮的状态,可设置该属性为YES使cell处在高亮状态(非动画)

 

  1. - (void)setHighlighted:(BOOL)highlighted    animated:(BOOL)animated

Sets the highlighted state of the cell, optionally animating the transition between states.

设置cell处在高亮状态,动画方式(可选)

 

  1. @property(nonatomic, getter=isEditing) BOOL editing

A Boolean value that indicates whether the cell is in an editable state.

指示cell是否处在可编辑状态

 

  1. - (void)setEditing:(BOOL)editing    animated:(BOOL)animated

Toggles the receiver into and out of editing mode.

触发接收者进入或退出编辑模式,动画(可选)

 

  1. @property(nonatomic, readonly) UITableViewCellEditingStyle editingStyle

The editing style of the cell. (read-only)

cell编辑风格,只读,默认为 UITableViewCellEditingStyleNone

具体某个cell的风格可在UITableViewDelegate中的方法

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

 

typedef enum : NSInteger {

   UITableViewCellEditingStyleNone,

   UITableViewCellEditingStyleDelete,

   UITableViewCellEditingStyleInsert

} UITableViewCellEditingStyle;

 

  1. @property(nonatomic, readonly) BOOL showingDeleteConfirmation

Returns whether the cell is currently showing the delete-confirmation button. (read-only)

           返回当前cell是否显示“删除-确认”按钮  

 

        

  1. @property(nonatomic) BOOL showsReorderControl

           A Boolean value that determines whether the cell shows the reordering control.

          决定cell是否显示重新排序控件

 

  1. - (void)willTransitionToState:(UITableViewCellStateMask)state

Called on the cell just before it transitions between cell states

cell状态间过渡前调用

 

typedef enum : NSUInteger {

   UITableViewCellStateDefaultMask                     = 0,

   UITableViewCellStateShowingEditControlMask          = 1 << 0,

   UITableViewCellStateShowingDeleteConfirmationMask   = 1 << 1

} UITableViewCellStateMask;

 

  1. - (void)didTransitionToState:(UITableViewCellStateMask)state

Called on the cell just after it transitions between cell states.

cell状态间过渡后调用

 

  1. @property(nonatomic) NSInteger indentationLevel

           The indentation level of the cell’s content.

           cell内容的缩进等级

 

          

  1. @property(nonatomic) CGFloat indentationWidth

           The width for each level of indentation of a cell'€™s content.

            。。。

 

 

  1. @property(nonatomic) UIEdgeInsets separatorInset

           The inset values for the cell’s content.

           cell内容的“嵌入”

          可使用本属性调整cell内容的左右边界

 

源文档 <https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewCell_Class/index.html#//apple_ref/occ/instp/UITableViewCell/separatorInset

版权声明:本文为博主原创文章,未经博主允许不得转载。

如何实现点击UITableViewCell中的控件,能调用到所在的ViewController对象进行页面跳转

在开发过程中遇到一个奇葩情况,就是要点击一个表单中的Label,r
  • u013623867
  • u013623867
  • 2014年10月23日 17:38
  • 1462

自定义UITableViewCell类 && 自适应高度

自定义 UITableViewCell类 1.继承自UITableViewCell的MyTableView 比如:制作显示名片的表格视图 要显示一张图片 5个UILabel...
  • xxxzhikvip
  • xxxzhikvip
  • 2015年11月27日 20:18
  • 188

UITableViewCell嵌套UITableView的正确姿势

UITableViewCell内部嵌套动态大小的UITableView的时候,太晚了,明天再补。
  • dipolar
  • dipolar
  • 2017年05月18日 18:54
  • 429

UItableView Cell 高度自适应--随着多个label内容变化自适应

看了前辈的cell 自有适应。更具需求。完成上下 多个label 自适应 文章链接:http://blog.csdn.net/swingpyzf/article/details/18093959...
  • u012106239
  • u012106239
  • 2017年05月15日 17:12
  • 897

UITableViewCell三种自定义方式

UITableViewCell 系统提供了四种样式。但在实际项目中,往往系统的满足不了产品需求,所以我们就需要自定义cell的样式。一般有三种。 一、最简单的:在代理方法中的创建cell方法中直接创...
  • u013706150
  • u013706150
  • 2016年01月10日 18:00
  • 2515

自定义UITableViewCell初始化代码

-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier...
  • jianandjan
  • jianandjan
  • 2015年11月17日 16:43
  • 995

UITableViewCell使用Autolayout布局的解决过程

大屏iPhone的发布,感觉是时候必须使用autolayout布局的,最近看了很多的文章,开始尝试使用autolayout布局.UITableView是项目中最常用的控件,所以我决定从使用autola...
  • a732264588
  • a732264588
  • 2014年12月16日 14:03
  • 2353

UITableViewCell 令人蛋疼的分割线!!!!

你一定会遇到这样的需求: 使用UITableView来进行数据的展示,要求有分隔线,并且使分割线顶格。。。。 你肯定这么干过 这样... tableView.separatorInset = U...
  • NB_Token
  • NB_Token
  • 2016年07月20日 17:16
  • 3607

UITableViewCell长按显示UIMenuController

UITableViewCell长按显示UIMenuController
  • u012336567
  • u012336567
  • 2015年11月25日 22:55
  • 1805

UITableViewCell滑动删除及移动

实现Cell的滑动删除, 需要实现UITableView的代理UITableViewDelegate中如下方法:   //先要设Cell可编辑 - (BOOL)tableView:(...
  • mad2man
  • mad2man
  • 2014年02月12日 17:24
  • 12191
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UITableViewCell类学习
举报原因:
原因补充:

(最多只允许输入30个字)