我在第一个视图控制器上点击按钮打开第二个视图控制器,但它从底部开始动画。我想从右到左打开它。
答案 0 :(得分:0)
使用
[self pushViewController:yourViewController animated:YES];
而不是
[self presentViewController:yourViewController animated:YES completion:nil];
第一段代码从右向左推送屏幕中的第二个视图控制器。
第二行代码,您可能在应用程序中编写的代码,以模态方式呈现视图控制器,这意味着从下到上。
答案 1 :(得分:0)
您可能会在第一个视图按钮上显示第二个视图控制器。
当您按下第二个视图时,从右向左的视图转换将起作用。 要启用第二个视图,首先您的第一个视图应位于导航控制器内。 如果您的第一个视图已在导航控制器中,则执行以下操作以推送第二个视图: 案例1:如果您正在使用故事板并且第一个视图已嵌入导航控制器
为故事板中的第二个视图控制器设置storyboardID
(例如,此处storyboardID
与类名相同)
在第一个视图的按钮上执行此代码:
SecondViewController *secondViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"];
[self.navigationController pushViewController:secondViewController animates:YES];
案例2:如果您使用的是故事板,但第一个视图控制器未嵌入导航控制器中: 1.在Navigarion控制器中嵌入第一个视图
1.1。打开故事板文件并选择First View Controller
1.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;
然后在第一个视图按钮上按下第二个视图,执行如下操作:
SecondViewController *secondViewController = [[FirstViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
[self.navigationController pushViewController:secondViewController animates:YES];
如果这没有帮助,那么只需发布您所做的精确解决方案即可。因为您的问题中未提及您用于加载视图的方法。