0

我在没有 UITabBarController 的导航堆栈中间实现了一个 UITabBar。UITabBarDetailViewController将屏幕的一部分委托给与所选选项卡元素关联的视图控制器。在通过选项卡栏选择显示的视图控制器之一内,有一个 UIButton 需要以模态方式显示视图。我试过[self presentModalViewController:modalNavController animated:YES];了,但是新的导航栏隐藏在父控制器的导航栏下方,DetailViewController. 所以我认为我需要做的是使用父导航控制器以模态方式呈现视图,以便新的导航栏位于导航栏的顶部DetailViewController

我知道它是可能的,因为我在 中有一个广告DetailViewController,点击添加会给我想要的结果,但我无法合并该代码。我也可以从 DetailViewController 而不是 subView 显示 UIButton,但我需要使用这种模式几次,所以我宁愿不必使用这样的非正统黑客。

谢谢!

编辑

我已经尝试将新视图添加到导航控制器,然后像这样呈现导航控制器:

WriteReviewController *newReview = [[WriteReviewController alloc] initWithNibName:@"WriteReviewController" bundle:nil];
UINavigationController *modalNavController = [[UINavigationController alloc] initWithRootViewController:newReview];
// This is intended to be presented in another view controller class
modalNavController.navigationBar.barStyle = UIBarStyleDefault;  
[self.parentViewController presentModalViewController:modalNavController animated:YES]; 
[modalNavController release];
4

1 回答 1

0

是自子类化 UIViewController 还是其他?我已经通过这种方式成功地使用导航控制器完成了视图,尽管我通常不使用笔尖进行操作。看看你先推送视图是否成功,然后尝试presentModalView。

我还建议使用委托方法来实现这一点。尽管对于您正在做的事情不是必需的,但您会发现以后遇到的问题会更少,并且可能被认为是“正确”的做事方式。

于 2010-09-22T04:32:32.680 回答