0

我发誓我已经看过六个教程,但我无法弄清楚我做错了什么。我有一个通过 IB 嵌套在 UIView 中的表格视图,并且表格都已格式化并正确填充。我只是无法让它显示详细信息屏幕。表格识别出点击,并选择了行,但是......该行保持选中状态。然后,绝对没有任何反应。我可以选择具有相同结果的其他行,但在那之后什么都没有发生。我可以进出视图,并在整个应用程序中拥有完整的功能。我什至可以滚动表格视图,但我永远无法进入单元格详细信息屏幕。我已经在 IB 中将所有必要的部分链接在一起。

这是我的详细视图代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    //Get the selected cell detail
    NSString *theString = [secondview objectAtIndex:indexPath.row];

    celldetails *dvController = [[celldetails alloc] initWithNibName:@"celldetails" bundle:nil];
    dvController.cellString = theString;

    [self.navigationController pushViewController:dvController animated:YES];
}

我已经尝试过“bundle:nil”和“bundle:[NSBundle mainBundle]”,但都没有产生预期的结果。有人有什么建议吗?

4

1 回答 1

0

如果pushViewController:animated:什么都不做,你navigationController可能是nil,但否则它肯定可以工作,因为UIViewController发送到的实例pushViewController:animated:会显示某种视觉变化(除非视图相同并且你不使用动画)。尝试在您的实现中添加NSLog(@"blah");一行didSelectRowAtIndexPath:,以确保它被调用。或在该方法中设置断点。

一包nil就好。如果.xib未找到 ,那么您将收到有关该效果的调试消息,因此它正在查找.xib. .xib甚至设置了有效的插座view,因为如果您加载.xib但未设置插座,应用程序将崩溃view

于 2012-01-17T04:34:57.387 回答