解决方案 »

  1.   

    http://stackoverflow.com/questions/21247868/instantiateviewcontrollerwithidentifier-in-xcode-5[self.storyboard instantiateViewControllerWithIdentifier:@"MPDetailPageViewController"];这样也可以调用ViewController
    如果是在storyboard里,直接用segue多方便
      

  2.   

    请问你是不是在用NavigationController?    [self.navigationController popToRootViewControllerAnimated:YES];如果直接用Segue或者ls那种方法,会重新生成一个 ViewController。当通过Modal 方式打开新的ViewController的时候,这个新的Controller就会在之前的那些上面,这是Stack(栈),如果想回到之前的那些,就要逐一的将栈内元素移除直到A。可以做,但是很麻烦,取决于你具体实现的情景
      

  3.   

    建议使用 NavigationController 来做。控制跳转比较简单
      

  4.   


    A中添加这样的一个函数:
    - (IBAction)unwindSegue:(UIStoryboardSegue *)sender{
        NSLog(@"unwindSegue %@", sender);
    }StoryBoard中,在E上添加一个按钮BackToA, 按住Control键点击按钮BackToA,连线拖到E ViewControler 下面那个绿色的Exit上面,选择unwindSegue,,,这样在E页面点击BackToA按钮就可以直接回到A了。
      

  5.   

    麻烦问下,
    1.为什么那个IBAction方法里面什么都没做,还有出现A的效果?这是森么道理?
    2.为什么我在B里面添加一个同样的IBAction 其他做了相同操作后,不能回到B页面??
      

  6.   

    http://stackoverflow.com/questions/12561735/what-are-unwind-segues-for-and-how-do-you-use-them1.只要A里有一个参数为uistoryboardsegue的方法,其他页面就可以拖拽到exit里,得到一个unwing,实现类似dismissVC popVC的功能。(文章里也没讲为什么,反正storyboard就是那么叼。你也可以给这个unwing加一个identifier,然后用代码写performSegueWithIdentifier)
    2.我在B里加了一个参数为uistoryboardsegue的方法,然后从其他页面拖一个unwing,是可以回到B的。你看看你哪里写错了。比如B页面的custom class改了吗?参数写对了吗。B和A的方法同名了吗,我试了同名的话也没问题,貌似是最近原则。