博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义UITableViewCell详细步骤
阅读量:4661 次
发布时间:2019-06-09

本文共 1685 字,大约阅读时间需要 5 分钟。

例:自定义单元格中有一个button和一个TextView

1.在XCode中选择新建->Cocoa Touch->Objective-C Class->名字:MyCell 继承:UITableViewCell  

2.

MyCell.h文件:

@interface MyCell : UITableViewCell{    UITextView *myTextView;}- (IBAction)btnAction:(id)sender;@property (retain, nonatomic) IBOutletUITextView *myTextView;@end

MyCell.m文件:

#import "MyCell.h"@implementation MyCell@synthesize myTextView;- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];    if (self)     {    }    return self;}- (void)setSelected:(BOOL)selected animated:(BOOL)animated{  [super setSelected:selected animated:animated];} - (IBAction)btnAction:(id)sender {}

3.在XCode中选择新建->User Interface->Empty XIB->名字:MyCell

4.打开空的MyCell.xib文件,将UITableViewCell拖到MyCell.xib窗口中,并在属性检查器上

    (1)修改Custom Class为MyCell

    (2)设定其重用标识符(Identifier),此处设置为:CellReuseID,设定重用标识符可以减少内存的分配,合理利用内存。

5.将MyCell.xib中的控件连接到MyCell.h中

8.最后在UITabelView的委托方法中加载此定制的Cell,代码如下:

- (UITableViewCell *)tableView:(UITableView *)tableView  //nib设置了重用标识符,则tableview会使用重用机制         cellForRowAtIndexPath:(NSIndexPath *)indexPath{    static NSString *cellid=@"CellReuseID";    MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:cellid];(寻找标识符为cellid并且没被用到的cell用于重用)
   if(cell==nil)   {     cell = [[[NSBundle mainBundle] loadNibNamed:@"MyCell" owner:self options:nil] lastObjects]; //如果此nib没有设置标识符,则当其移出屏幕时会自动释放(dealloc),可以用cell = [MyCell alloc] init];使其不自动释放   }    NSUInteger row = [indexPath row];   [cell.myTextView setText:@"123456"];   cell.myTextView.editable = NO;   return cell;  }

 

转载于:https://www.cnblogs.com/hellocby/archive/2012/05/23/2514270.html

你可能感兴趣的文章