presentmodalviewcontroller - 如何不覆盖整个屏幕?

时间:2011-09-24 19:47:16

标签: iphone objective-c uiview view

我的工具栏上有一个标签栏和一个搜索按钮。所以现在每当用户点击搜索我想要一个视图出现(presenetmodalviewcontroller)但是现在的模态视图控制器覆盖整个屏幕是否有任何方式它只覆盖当前视图(即当前标签栏中的视图)?现在我该怎样才能做到这一点?

感谢, Tushar Chutani

3 个答案:

答案 0 :(得分:0)

根据定义,模态视图控制器旨在“中断”应用程序的当前流程以获取其他内容(请求用户/通行证,要求联系人发送电子邮件等)。您可以在View Controller Programming Guide

中详细了解相关信息

最好在当前选项卡中使用导航堆栈(UINavigationController)来处理必须呈现给用户的其他viewControllers。这里是关于如何在选项卡栏应用程序中放置导航控制器的another stack overflow question。使用导航堆栈,您可以推送视图控制器(pushViewController:animated:),并为单个选项卡项管理不确定深度的viewControllers。

答案 1 :(得分:0)

一个选项是tabbar内的视图位于NavigationController中。然后,而不是presentModalViewController,你将pushViewController放到堆栈上。这将使tabBar在底部可见,它允许您导航回来。

然而,这会将navigationBar添加到顶部。不确定这是否适合您的应用。

答案 2 :(得分:0)

所以这就是我没有能够做到最好的代码但它的工作原理我已经做了多少是对uiimageview的添加视图(应该使用UIWindow但是谁在乎?)

 -(void)revers{

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
NSLog(@"Revenre is called");
otherViewImage.transform = CGAffineTransformMakeTranslation(0,-380);
[otherViewImage addSubview:hup.view];
[UIView commitAnimations];

}