如何正确使用模态视图控制器?

时间:2016-05-12 05:03:32

标签: ios objective-c xcode storyboard xcode7

我有一个带标签的Iphone项目,其中我试图提供一个模态segue但是来自多个不同的视图控制器。

基本上我希望它的功能与股票音乐应用程序在iOS 9 for iphone中的工作方式相同。您可以在任何一个不同的标签中,仍然可以查看帐户页面。

Demonstration

第一个问题/问题。 如何模仿这种行为而不会产生大量的细分。目前我有3个单独的视图,我想称之为模态segue但是如何在不制作重复segue的情况下实现此目的

第二个问题/问题。 如何在不成为已弃用的segue的情况下关闭模态视图。我发现了如何做到这一点,但他们需要另一个segue回到"发件人"查看控制器。

如果只有苹果可以提供一些不错的示例代码来帮助我尝试这样做......

1 个答案:

答案 0 :(得分:1)

您可以在不使用segue的情况下呈现和关闭任何视图控制器对象,

UIViewController *vc = [[UIViewController alloc]init];  // your view controller here

// You can present VC like

[self presentViewController:vc animated:YES completion:^{
    // do your task on completion
}];


// In your Presented VC you can dissmiss it like

[self dismissViewControllerAnimated:YES completion:^{

    //do your task on completion
}];

根据评论更新:

您可以实例化故事板,

   SideMenuViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"sideMenu"];

这里SideMenuViewController是自定义viewController类,从storyboard设置为viewcontroller。

并确保您已在storyboard Id的身份下设置identity inspector。我的sideMenu是故事板标识!

enter image description here

因此,你可以像这样实例化你的storyboard viewcontroller,然后按照前面提到的那样呈现它

希望这会有所帮助:)