UIViewController从右到左的过渡

时间:2014-09-18 10:09:46

标签: iphone ios7

我在第一个视图控制器上点击按钮打开第二个视图控制器,但它从底部开始动画。我想从右到左打开它。

2 个答案:

答案 0 :(得分:0)

使用

[self pushViewController:yourViewController animated:YES];

而不是

[self presentViewController:yourViewController animated:YES completion:nil];

第一段代码从右向左推送屏幕中的第二个视图控制器。

第二行代码,您可能在应用程序中编写的代码,以模态方式呈现视图控制器,这意味着从下到上。

答案 1 :(得分:0)

您可能会在第一个视图按钮上显示第二个视图控制器。

当您按下第二个视图时,从右向左的视图转换将起作用。 要启用第二个视图,首先您的第一个视图应位于导航控制器内。      如果您的第一个视图已在导航控制器中,则执行以下操作以推送第二个视图: 案例1:如果您正在使用故事板并且第一个视图已嵌入导航控制器

  1. 为故事板中的第二个视图控制器设置storyboardID(例如,此处storyboardID与类名相同)

  2. 在第一个视图的按钮上执行此代码:

     SecondViewController *secondViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"];
    [self.navigationController pushViewController:secondViewController animates:YES];
    
  3. 案例2:如果您使用的是故事板,但第一个视图控制器未嵌入导航控制器中: 1.在Navigarion控制器中嵌入第一个视图

    1.1。打开故事板文件并选择First View Controller

    1.2。转到编辑器 - >嵌入 - >导航控制器。

    1. 然后执行步骤案例:1的第2步。
    2. 案例3:如果您正在使用XIB文件,并且第一个视图不在导航控制器中。  1.在AppDelegate.m应用程序中加载第一个视图:didFnishLoading:方法执行如下操作:

      FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
      UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:firstViewController];
      self.window.rootViewController = navigationController;
      
      1. 然后在第一个视图按钮上按下第二个视图,执行如下操作:

         SecondViewController *secondViewController = [[FirstViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
        [self.navigationController pushViewController:secondViewController animates:YES];
        
      2. 如果这没有帮助,那么只需发布您所做的精确解决方案即可。因为您的问题中未提及您用于加载视图的方法。