0

我更新了我的应用程序并添加了一些功能,但我的表格视图发生了一些奇怪的事情。让我解释:

我有一个表格视图,当按下一行时,我想打开一个新的视图控制器。

我正在使用故事板和segues,这就是我所拥有的:

故事板并且当按下该行时会打开视图控制器。

每行的内容都在一个单独的 .xib 文件中(如果保持不变,我会在 IOS 6.0 中强制关闭,或者我可以处理内容,无论我添加了什么)。

所以我的 EachCell.xib 是这样的: 每个单元格.xib

这是我每个单元格的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *simpleTableIdentifier=@"EachCell";
    //this is the identifier of the custom cell
    EachCell *cell = (EachCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    tableView.backgroundColor=[UIColor clearColor];
    tableView.opaque=NO;
    tableView.backgroundView=nil;

    if (cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"EachCell" owner:self options:nil]; ######HERE IS THE SIGBART PROBLEM
        cell = [nib objectAtIndex:0];
    }
   /*** bla bla bla**/


    return cell;
}

这是为了按下并打开新的视图控制器:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
/..rest of code ../
[self performSegueWithIdentifier:@"nameofsegue" sender:tableView];
        }

我已经提到了 SIGBART 问题在哪里。

EachCell 是 .h,.m,.xib 文件的名称和我的自定义单元格的重用标识符。我只在情节提要中插入了表格单元,以便我可以设置我的转场。

奇怪的是它在 IOS 6.0 中播放,但在 IOS 5.1 中没有。

这就是我在 ios5.1 中遇到的错误:

NSInternalInconsistencyException, the Nib data is invalid.
4

1 回答 1

2

听起来您的自定义单元格 Xib 文件上启用了自动布局。在笔尖内确保自动布局框在其属性中未选中。默认情况下,此框处于选中状态。自动布局是 iOS6 的一项功能,因此您可能需要调整该单元格的布局

在此处输入图像描述

于 2013-01-25T23:58:25.853 回答