【问题标题】:How to switch between Views on iOS如何在 iOS 上的视图之间切换
【发布时间】:2012-01-12 07:03:37
【问题描述】:

我对 iOS 世界很陌生,由于我来自基于 Activity 的 Android 世界,我对 iOS 如何管理视图之间的转换有点困惑。

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

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

结果是第一个 UIViewController 确实被推开,但我没有让 UISplitViewController 显示,但我在视图出口中设置了 DetailView。

我错过了什么吗?首先显示全屏(没有什么花哨,没有多余的装饰)UISplitViewController 然后推送到 UISplitViewController 需要什么?我之前的尝试涉及新的故事板功能,但结果更加令人困惑(即涉及太多魔法)。也许我只是弄错了一些 iOS 的 UI 范例。

【问题讨论】:

    标签: ios uiviewcontroller ipad


    【解决方案1】:

    您可能希望从 UINavigationController 作为您的根视图控制器开始。 UINavigationController 的 init 方法将另一个视图控制器作为参数(混淆地也称为根 ViewController),它可以是您当前用作应用程序的根视图控制器的视图控制器。然后它将显示在导航控制器中。

    将视图控制器放入导航控制器后,您可以调用 [self.navigationController pushViewController:x] 来显示新的视图控制器,然后调用 [self.navigationController popViewController] 再次返回。如果不希望顶部的导航栏,可以将其设置为隐藏。

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

    【讨论】:

      【解决方案2】:

      一般来说,您希望将 UIViewController 的视图出口设置为您的 xib 中的顶级视图。当您创建 xib 时,它可能会给您一个空白视图作为起点,然后您将 UISplitView 添加到其中。那个(以前的)空白视图是您想要的视图出口。

      【讨论】:

        【解决方案3】:

        在给定的代码中。我正在点击按钮切换到下一个视图..

        NextController(您想要显示的视图就像我们在 Android 中显示的新 Activity 一样)

        首先要导入

        #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 用于显示动画

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-11-17
          • 1970-01-01
          • 2023-03-03
          • 2014-01-31
          • 1970-01-01
          • 2011-05-14
          • 2021-06-05
          • 1970-01-01
          相关资源
          最近更新 更多