TableView自定义单元格不输入init方法

时间:2017-07-11 02:48:09

标签: ios objective-c uitableview

我的问题是细胞被创建了,但它没有被称为任何init方法。我不使用xib。这是我的简单代码:

- (void)viewDidLoad {
    [super viewDidLoad];

    _tabV = [[UITableView alloc]initWithFrame:self.view.bounds];
    [_tabV registerClass:[TestCell class] forCellReuseIdentifier:@"Cell"];
    _tabV.delegate = self;
    _tabV.dataSource = self;


    [self.view addSubview:_tabV];
}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return 10;
}


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return 100;
}

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

    TestCell  * cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];


    return cell;

}

和细胞:

- (instancetype)init{
    if (self = [super init]) {
        self.contentView.backgroundColor = [UIColor redColor];
    }
    return self;
}


- (instancetype)initWithFrame:(CGRect)frame{
    if (self = [super initWithFrame:frame]) {
         self.contentView.backgroundColor = [UIColor greenColor];
    }
    return  self;
}

但是[init]或[initWithFram]都调用了。我认为这是一个非常简单的问题。但我只是不知道哪里出了问题......

1 个答案:

答案 0 :(得分:1)

$(".container").on('click',function(){ $(this).children(".overlay").css("height","100%"); }); 子类应实现UITableViewCellinitWithStyle:reuseIdentifier:初始值设定项。在这种情况下,视图的标准init方法不起作用。

此处有更多详情 - https://developer.apple.com/documentation/uikit/uitableviewcell?language=objc