IOS / Objective-C / Storyboard:防止ViewController以模态方式启动

问题描述 投票:0回答:1

我希望viewcontroller使用show转换启动,而不是从底部以模态方式启动。通常,当我使用以下代码时,会发生什么。但是,在这种情况下,它从下往上作为模态控制器启动。是否有一个我不知道的开关,或者是否可以在Storyboard中设置导致此VC从底部以模态方式启动而不是显示?

 UIStoryboard *storyBoard = self.storyboard;

    IDImportEventsOnboard *importEvents =
    [storyBoard instantiateViewControllerWithIdentifier:@"importEventsOnboard"];
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController: importEvents];

    [self presentViewController:nav animated:YES completion: nil];

VC嵌入在导航控制器中。

我是否应该直接使用showViewController到targetVC而不通过Nav?或者pushViewController什么是显示具有show转换的VC的正确,强大的方法?

在此先感谢您的任何建议。

ios objective-c presentviewcontroller
1个回答
1
投票

在上面的代码中,您将从ViewController“呈现”一个新的NavigationController。为了进行推/显转换,需要在NavigationController的实例上完成。如果您当前的ViewController已经在NavigationController中,您可以将新的ViewController推送到当前的NavigationController堆栈。例如:

UIStoryboard *storyBoard = self.storyboard;

IDImportEventsOnboard *importEventsVC =
[storyBoard instantiateViewControllerWithIdentifier:@"importEventsOnboard"];

[self.navigationController pushViewController:importEventsVC animated:YES];
© www.soinside.com 2019 - 2024. All rights reserved.