1

我正在尝试为 iPhone 和 iPad 故事板使用一个类(DetailCell)。我有以下代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
        static NSString * cellIdentifier = @"DetailCell";
        DetailCell * detailCell = [self.tableView dequeueReusableCellWithIdentifier:cellIdentifier];
        if (detailCell == nil) {
            detailCell = [[DetailCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"DetailCell"];
        }
        //cell customization here...
    return detailCell;
}

它非常适用于 iPad,但不适用于 iPhone!所有标识符、连接和类设置正确。我还尝试擦除两个板上的单元格并创建新单元格。我实际拥有的:

在 iPad 上:

我在双端队列中获取单元格,因此它不会进入 if 并根据需要返回单元格。

在 iPhone 上:

deque 返回 nil,如果它返回 DetailCell,但它的自定义不起作用。(在设置值之前和之后所有的出口都是零)这种行为的原因是什么?

PS在iOS5和iOS6上

4

1 回答 1

0

尝试这个。静态 NSString * cellIdentifier = @"DetailCell";

DetailCell * detailCell = [self.tableView dequeueReusableCellWithIdentifier:cellIdentifier];

if (detailCell == nil)
{
    detailCell = [[DetailCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"DetailCell"];

    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"YourNibName" owner:self options:nil];
    for (id oneObject in nib) if ([oneObject isKindOfClass:[DetailCell class]])
        cell = (DetailCell *)oneObject;
}
//cell customization here...
return detailCell;
于 2013-04-03T10:16:27.997 回答