关于objective c:UIStoryBoard中UITableViewCell的子类

Subclasses of UITableViewCell in UIStoryBoard

我最近开始了一个新项目,使用iOS5和uiStoryboards(很棒的功能;)。尤其是在表视图中创建静态单元格的能力非常好。但这开始了我的问题。我想使用UITableViewCell的子类自定义这些单元格,而不必在每个TableView中使用静态内容自定义单元格。

首先,我认为只需要将TableViewCell的类设置为MyCustomClass。但设计没有使用。

长话短说:是否有方法将uiTableViewCell的子类用作uiStoryboard中的静态内容?故事如何实例化细胞?(它不是init()或initWithStyle())

提前感谢您;)


我真的不知道在接口生成器中是否有使用自定义单元的方法(可能不可能)。uiTableViewCells是通过initWithCoder:method启动的,就像其他任何符合nscoding协议的对象一样。


除了设置自定义类之外,还必须在Inspector面板中设置标识符。然后,为了找回你令人敬畏的新设计,请使用:

1
2
3
4
5
6
7
8
9
10
11
12
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  static NSString *cellIdentifier = @"myCustomID";
  //New cell prototypes will be returned from the dequeue if none have been allocated yet.
  MySubclassCell* cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

  if(cell == nil) {
    //This shouldn't happen but you can build manually to be safe.
    cell = [[MySubclassCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
  }

  return cell;
}

排队列将构建新的单元,而不需要分配自己的单元。