如何在ios 9,目标C中以编程方式导航到另一个具有"当前上下文"演示的viewcontroller

Cha*_*era 4 navigation objective-c storyboard ios

我正在使用storyboard构建我的应用程序.所以我可以通过拖动按钮预先打开另一个视图控制器.然后我可以选择presentation= over current context为故事板中的segue.但我想要的是以编程方式执行此操作.我找到了答案,但它说它只适用于ipad.我正在构建一个通用的应用程序,所以我想为所有设备工作.

  • 这可能吗.
  • 我怎么能这样做.

在我的第一个视图控制器中

UIStoryboard *story = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
UIViewController *middleViewController = [story instantiateViewControllerWithIdentifier:@"FlightMiddleViewController"];
Run Code Online (Sandbox Code Playgroud)

在我的第二个视图控制器中,我放了viewDidLoad方法

self.modalPresentationStyle = UIModalPresentationOverCurrentContext;
Run Code Online (Sandbox Code Playgroud)

它工作了一段时间.这意味着它透明,然后屏幕黑色.我不知道为什么.

Cha*_*era 8

它适用于iphone也适用于ios 9> =

这就是你想要做的.

在第一个视图控制器中,在设置应显示的视图之前,

- (IBAction)searchNowAction:(id)sender {

    UIStoryboard *story = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
    UIViewController *secondViewController = [story instantiateViewControllerWithIdentifier:@"secondviewControllerSBname"];


    secondViewController.modalPresentationStyle = UIModalPresentationOverFullScreen;
    secondViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentViewController:secondViewController animated:YES completion:nil];

}
Run Code Online (Sandbox Code Playgroud)

这也适用于iphone.