zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

iOS swift UITableView UITableViewCell 注册cell的三种方法

ios注册方法 三种 swift cell UITableView
2023-09-14 09:04:15 时间

1.在storyboard的tableView中拖进cell,填写cell的Identifier属性,就相当于注册cell.拖到tableView里的cell只能这个tableView用,不同tableView里的cell,identifier可以相同

在这里插入图片描述

2.register(_ nib: UINib?

let cellNib1 = UINib.init(nibName: "advancedCell1", bundle: nil);
tableView.register(cellNib1, forCellReuseIdentifier: "advancedCell1");

3.register(_ cellClass: AnyClass?

3.1 在cell的实现文件中重写initWithStyle加载nib

-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
    self = [super initWithStyle: style reuseIdentifier:reuseIdentifier];
    if (self) {
        NSArray *nibArray = [[NSBundle mainBundle]loadNibNamed:@"DataTableViewCell" owner:nil options:nil];
        self = [nibArray lastObject];
    }
    return self;
}

3.1 在cell的实现文件中重写initWithStyle纯代码布局


- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
{ 
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 
if (self) 
{ 
// cell页面布局 
[self setupView]; 
} 
return self; 
} 

参考博客:
UITableView registerClass与registerNib

自定义Cell总结(注册Cell)(registerNib: 与 registerClass: 的区别)