【发布时间】:2010-06-11 02:11:36
【问题描述】:
在自定义UIViewController 中,如果我有一个成员UINavigationController,我以self 作为根视图进行初始化,如下所示:
navController = [[UINavigationController alloc] initWithRootViewController:self];
然后显示模式对话框不会隐藏屏幕底部的标签栏。结果是,如果用户在显示模态对话框时切换到不同的选项卡,当他们弹回显示模态对话框的选项卡时,随后对presentModalViewController 的调用根本不会显示模态对话框,即使由于标签切换,我调用了dismissModalViewControllerAnimated。
如果我初始化 UINavigationController 而不将 self 设置为根控制器,
navigationController = [[UINavigationController alloc] init];
然后标签栏按预期隐藏。我已经在我的程序中进行了更改,因此这对我来说不再是一个真正的问题,但我不确定我是否理解为什么会发生这种情况。如果导航控制器要显示模式对话框,那么将导航控制器以self 作为根是否被认为是不好的做法?
【问题讨论】:
标签: iphone cocoa-touch uinavigationcontroller uitabbarcontroller