如何在iOS上的视图之间切换

我是相当新的iOS世界,因为我来自Android的基于活动的世界,我有点混淆iOS如何pipe理视图之间的转换。

我已经创build了一个UIViewController,它以全屏显示一个login表单(这是一个针对iPad的应用程序)。 成功login后,我想切换到另一个视图,并利用UISplitViewController。 为了能够从我的初始控制器推到第二个(这也是一个UIViewController)我已经添加了一个UINavigationController与我的第一个控制器是根。

我已经将UISplitViewController添加到第二个UIViewController的xib中。 先前的Xcode抱怨说,我的第二个UIViewController没有视图出口设置,所以我基本上盲目地将其设置到我的UISplitViewController内的detailView。

结果是,第一个UIViewController确实被推开,但我没有得到显示的UISplitViewController,但我在视图sockets中设置的DetailView。

我错过了什么? 有什么必要先显示一个全屏(没有幻想,没有装饰)UISplitViewController,然后推到UISplitViewController? 我以前的尝试提供了新的故事板function,但事实certificate这更加令人困惑(即涉及到太多的魔法)。 也许我刚刚得到了iOS的一些UI范例错误。

你可能想要以一个UINavigationController作为你的根视图控制器。 UINavigationController的init方法将另一个视图控制器作为一个参数(也被称为一个根ViewController),它可以是当前使用的视图控制器,作为您的应用程序的根视图控制器。 然后将显示在导航控制器中。

一旦将视图控制器放置在导航控制器中,就可以调用[self.navigationController pushViewController:x]显示一个新的视图控制器,并且[self.navigationController popViewController]再次返回。 如果你不想在顶部的导航栏,你可以将其设置为隐藏。

或者,您可以通过调用[self presentModalViewController:x]来显示另一个视图控制器中的全屏视图控制器。

一般来说,你想设置UIViewController的视图出口到你的xib顶层视图。 当你创buildxib时,它可能会给你一个空白的视图作为起点,然后你添加了你的UISplitView。 这(以前)空白视图是你想要的视图出口。

在给定的代码中。 我切换到下一个button点击查看..

NextController (查看你想要显示的就像我们在Android中显示的一个新的活动)

首先导入它

#import "NextController.h" 

接着

 - (IBAction)clicking:(id)sender { NextController *nextviewcontroller = [[NextController alloc]initWithNibName:@"NextController" bundle:nil];// include it before calling it.. [self presentViewController:nextviewcontroller animated:YES completion:nil]; } 

其中initWithNibName:@NameOfNibFileToShowpresentViewController内置函数和animated:YES显示animation