我想从屏幕右侧打开一个viewcontroller。
那是在做
[self presentModalViewController:pvc animated:YES];
我希望另一个viewcontroller的视图看起来好像从屏幕右侧滑动而不是显示为来自屏幕底部:)
我怎样才能做到这一点。请帮助:)
答案 0 :(得分:2)
您正在寻找的是UINavigationController。
在您的应用委托中,您将在applicationDidFinishLoading
:
[window addSubview:viewController.view];
将该行更改为:
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
[window addSubview:navController.view];
现在可以代替[self presentModalViewController:pcv animated:YES];
:
[self.navigationController pushViewController:pcv animated:YES];
这是给出“从右侧滑入”动画的控件。 Plus允许您更好地控制应用程序中的视图堆栈和导航。它是控制应用中导航的最佳方式。
ps:navController现在会泄漏 - 在我的例子中它就像这样,所以你可以看到我在做什么。您需要将navController设置为app代理的.h中的iVar,以便在dealloc
中释放它。如果您现在发布它,那么您将无法向其发送消息。
答案 1 :(得分:1)
查看UINavigationController - Class Reference。这使您可以组织将从侧面滑入的层次结构。或者你可以玩UIView animation blocks。找出最适合您应用的最新信息。如果你有几件事要从侧面推动,比如类别,请使用UINavigationController。如果您只是想要从侧面进入并离开的简单视图,您将需要使用UIView动画或其他动画方法。 UIView动画将如下所示:
[UIView beginAnimations:nil context:nil];
//code to move view on to screen
[UIView setAnimationDuration:0.5];
[UIView commitAnimations];