自定义UITableViewCell init

Abd*_*mer 3 iphone objective-c uitableview ios

UITableViewCell使用故事板创建了一个自定义.

我正在加载它像这样:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    HJAddCell *cell = [tableView dequeueReusableCellWithIdentifier:@"addCell"];
    // setting properties of cell 
    return cell;
}
Run Code Online (Sandbox Code Playgroud)

现在我需要在初始化期间以编程方式添加一些自定义.但问题是在我看来HJAddCell,这些init方法都没有被调用.我应该怎么做才能init调用该方法,或者是否有其他方法可以在初始化时以最少的工作量将更多自定义代码添加到自定义单元类中.

更新:我需要为UILabels添加边框.我在故事板中没有发现任何事情.

Kre*_*iri 13

UIViews有两个指定的初始化器:initWithFrame:initWithCoder:.initWithCoder:如果从nib/storyboard加载视图,则使用initWithFrame- 如果以编程方式创建视图.


J2t*_*heC 5

当然没有调用init方法.你不是自己调用任何init方法.如果使用表视图注册HJAddCell的nib,则调用的初始化方法是initWithCoder.如果您正在使用nib,您还应该问自己为什么需要在运行时自定义自定义UITableViewCell.我的意思是,它已经是一个自定义单元格.您应该使用您需要的属性创建单元格.

  • 子类 - (void)你的tableviewcell子类上的awakeFromNib并在那里做. (4认同)