【问题标题】:tablecell working in IOS 6.0 but not in IOS 5.1tablecell 在 IOS 6.0 中工作,但在 IOS 5.1 中不工作
【发布时间】:2013-01-26 07:58:25
【问题描述】:

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

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

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

以及当按下该行时打开视图控制器的 segue。

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

所以我的 EachCell.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.

【问题讨论】:

    标签: ios tablecell


    【解决方案1】:

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

    【讨论】:

    • 是的,就是这样!如果我还想与 ios 5.0 兼容或者我应该将其设置为所有 sdk,你知道是否必须将部署设置为项目 sdk (ios 6.0)?
    猜你喜欢
    • 2013-03-03
    • 2012-10-19
    • 1970-01-01
    • 2015-03-26
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多