从类中启动.xib而不引用navigationController

时间:2014-10-16 20:15:17

标签: ios objective-c uinavigationcontroller

在类文件中,我需要在点击.xib时启动新的UIButton文件。

我尝试了一些事情都无济于事。我认为最好的(?)方法是使用UINavigationController推送视图。

我尝试过的(不起作用)是:

-(void)btnSubmitPic{

    UINavigationController *frameWindow = [[UINavigationController alloc] init];

    ViewControllerContactUs *vc = [[ViewControllerContactUs alloc] initWithNibName:@"ViewControllerContactUs" bundle:nil];

    [frameWindow pushViewController:vc animated:YES];
}

我尝试了几种不同的版本;似乎没什么用。

当您没有引用self.view时,是否有人知道如何将视图推送到屏幕?

修改

我引用了以前的视图控制器,但是在执行此操作时它没有启动:

-(void)btnSubmitPic{

    ViewControllerContactUs *vc = [[ViewControllerContactUs alloc]initWithNibName:@"ViewControllerContactUs" bundle:nil];

    NSLog(@"PREV VC: %@", prevVC);

    [prevVC.navigationController pushViewController:vc animated:YES];

}

在那里进行NSLog时,prevVC = <ViewController: 0x13550f9b0>这是正确的。

1 个答案:

答案 0 :(得分:0)

这里的一种方法可能是在应用程序根视图控制器上以模态方式显示视图控制器。

你可以试试这个

-(void)btnSubmitPic
{
    ViewControllerContactUs *vc = [[ViewControllerContactUs alloc] initWithNibName:@"ViewControllerContactUs" bundle:nil];
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:vc];
    [[[[UIApplication sharedApplication] keyWindow] rootViewController] presentViewController:navController animated:YES];
}