无法将子视图推送到navigationController

时间:2012-05-05 03:04:51

标签: iphone objective-c ios5

尝试将新控制器推入navigationController,不确定为什么它不是woking。 1)我检查了secondViewController的实例也不起作用。 2)。试过后缀“.xib”,也没用。 3)尝试捆绑:零也没有工作。

我正在使用ARC。有人能指出这里的问题是什么吗?

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@" YOU SELECTED ROW ..");
    secondViewController *secController = [[secondViewController alloc] initWithNibName:@"secondViewController.xib" bundle:[NSBundle mainBundle]];
    NSLog (@"View Controller %@ ", secController);
        [self.navigationController pushViewController:secController animated:YES];
    }

4 个答案:

答案 0 :(得分:0)

如果nib位于主包中,则无需传入包。传递nil会起作用,所以改变这个:

[[secondViewController alloc] initWithNibName:@"secondViewController.xib" bundle:[NSBundle mainBundle]];

对此:

[[secondViewController alloc] initWithNibName:@"secondViewController" bundle:nil];

您还可以利用以下事实:UIKit将查找与该类同名的笔尖,并将nil传递给笔尖名称。

答案 1 :(得分:0)

我编辑你的代码只是试试这个。

 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@" YOU SELECTED ROW ..");
    secondViewController *secController = [[secondViewController alloc] initWithNibName:@"secondViewController" bundle:nil];
    NSLog (@"View Controller %@ ", secController);
    [self.navigationController pushViewController:secController animated:YES];
}

答案 2 :(得分:0)

点击here

此链接用于如何创建所需的导航控制器。我已在此链接中编写代码。我希望它会对你有所帮助。

答案 3 :(得分:0)

您是否初始化导航控制器?检查self.NavigationController是否在内存中?可能是0 * 0