【发布时间】:2013-11-12 12:00:54
【问题描述】:
更新:
我再次面临这个问题,并找到了另一种方法。如果显示控制器没有嵌入到导航控制器中,如果显示的控制器不是全屏的,它将被隐藏并变黑。方法 setModalPresentationStyle:UIModalPresentationCurrentContext 只能应用于导航控制器。因此,在 UINavigationController 中嵌入呈现控制器,将 UIModalPresentationCurrentContext 设置为它并呈现新的控制器 - 你将得到对话框控制器。
我正在展示搜索控制器,它具有推送堆栈详细控制器的 tableView。
详细控制器可以向视图控制器显示消息,它由小 UIView 和半透明背景组成。
问题:当最后一个视图控制器出现时,它下面的所有视图控制器都被隐藏,而控制器,那个显示的搜索控制器变得可见。
这是我在做什么:
SearchViewController *viewController = [[SearchViewController alloc] initWithNibName:@"SearchViewController" bundle:nil];
viewController.data = dataArray;
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
[self.navigationController setModalPresentationStyle:UIModalPresentationCurrentContext];
[self.navigationController presentViewController:navigationController animated:YES completion:nil];
比表推送详细视图:
DetailViewController *viewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
[viewController setHidesBottomBarWhenPushed:YES];
viewController.dataItem = [data objectAtIndex:(NSUInteger) [indexPath row]];
[self.navigationController pushViewController:viewController animated:YES];
和详细视图显示消息框:
MessageController *controller = [[MessageController alloc] initWithNibName:@"MessageController" bundle:nil];
controller.message = message;
[self presentViewController:controller animated:YES completion:nil];
当它被解除时,它下面的所有控制器都变得可见。
更新:
我只想以模态方式呈现一个具有 uitableview 的视图控制器。从这个表中显示详细视图,将能够显示消息框。消息框必须是另一个视图控制器。并且当显示消息框时,所有前面的两个控制器都消失了。这就是问题所在。
【问题讨论】:
-
很难理解您所描述的问题以及您希望它做什么。建议您添加屏幕截图或图片,以更好地描述您需要帮助的问题。
标签: ios iphone objective-c uiviewcontroller presentmodalviewcontroller