Ios 从当前上下文推送导航

Ios 从当前上下文推送导航,ios,objective-c,uinavigationcontroller,presentviewcontroller,Ios,Objective C,Uinavigationcontroller,Presentviewcontroller,您好,我有两个ViewcontrollerA和B,我正在使用当前上下文呈现A控制器中的B控制器,并将我的编码粘贴到下面。我只想从B控制器推送到C控制器,我知道当我们演示时没有分配导航控制器,如果我用rootviewcontroller演示navigationcontroller,我无法获得透明的结果 UIStoryboard *story = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];

您好,我有两个ViewcontrollerAB,我正在使用当前上下文呈现A控制器中的B控制器,并将我的编码粘贴到下面。我只想从B控制器推送到C控制器,我知道当我们演示时没有分配导航控制器,如果我用rootviewcontroller演示navigationcontroller,我无法获得透明的结果

 UIStoryboard *story = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
        ChooseAddressVc *sec=[story instantiateViewControllerWithIdentifier:@"ChooseAddressVc"];
        sec.myDelegate = self;
        sec.modalPresentationStyle = UIModalPresentationOverCurrentContext;
        sec.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
        [self presentViewController:sec animated:YES completion:^{

        }];
从Viewcontroller B推送到C

UIStoryboard*Story=[UIStoryboard storyboardWithName:@"Main2" bundle:nil];
    AddNewAddressVc*choose=[Story instantiateViewControllerWithIdentifier:@"AddNewAddressVc"];
    [self.navigationController pushViewController:choose animated:YES];

注意:当我演示当前上下文时,我需要将导航控制器从B推到C。为了更好地理解当我们需要获得透明效果时,我们不能将导航控制器分配为A的根视图控制器

在您的情况下
在B视图控制器中使用self.navigationController
是零。您需要创建
UINavigationController
,其中B视图控制器为
rootViewController
。显示从A创建的
UINavigationController
而不是显示B视图控制器,在此之后,您可以在B视图控制器中使用
self.navigationController

您的代码已编辑:

    UIStoryboard *story = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
    ChooseAddressVc *sec=[story instantiateViewControllerWithIdentifier:@"ChooseAddressVc"];
    sec.myDelegate = self;

    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:sec];
    navController.modalPresentationStyle = UIModalPresentationOverCurrentContext;
    navController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

    [self presentViewController:navController animated:YES completion:^{

    }];

您遇到了什么错误/问题?@JacobBoyd当我使用当前上下文演示viewcontroller B时,我无法将viewcontroller B推送到cThats我在评论中提到的内容,我知道如何在演示时使用rootviewcontroller创建navigationcontroller,但如果我这样做了,我会被黑屏遮住,我无法达到预期的透明效果。请再次阅读我的问题,以便更好地理解。我会尝试这个,并尽快让你知道