【发布时间】:2011-05-30 08:40:56
【问题描述】:
我有带有导航控制器的 UItabBarTemplate 的应用程序。
在选择标签栏 ViewControllerA 时,会显示按钮触摸推动 UIPieChartTabController 继承“UIViewController”。
现在我想要 UIPieChartTabController 中的另一个标签栏。
所以在 UIPieChartTabController 的 viewDidLoad 中
- (void)viewDidLoad {
[super viewDidLoad];
UIView *contentView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
contentView.backgroundColor = [UIColor whiteColor];
self.view = contentView;
[contentView release];
UITabBarController *tabbar= [[UITabBarController alloc] init];
tabbar.view.frame = CGRectMake(0, 0, 320, 460);
piechartViewController *pr=[[piechartViewController alloc]init];
pr.tagInAction=1;
pr.title=@"Type";
pr.tabBarItem.image=[UIImage imageNamed:@"trend.png"];
pr.sDate=sDate;
pr.nDate=nDate;
piechartViewController *pr1=[[piechartViewController alloc]init];
pr1.title=@"category";
pr1.tagInAction=4;
pr1.sDate=sDate;
pr1.nDate=nDate;
piechartViewController *pr2=[[piechartViewController alloc]init];
pr2.title=@"paidWith";
pr2.tagInAction=3;
pr2.sDate=sDate;
pr2.nDate=nDate;
//tabbar.tabBar.delegate=self;
//this gave me error
ExportRep *pr3=[[ExportRep alloc]init];
pr3.tabBarItem.image=[UIImage imageNamed:@"database.png"];
pr3.title=@"Export Expenses";
[tabbar setViewControllers:[NSArray arrayWithObjects:pr,pr1,pr2,pr3,nil]];
[self.view addSubview:tabbar.view];
[pr release];
[pr1 release];
[pr2 release];
}
这段代码有效,但现在当我选择 viewController ExportRep 类型的选项卡时,我尝试了
[self presentModalViewController:objMFMailComposeViewController animated:YES];
但是objMFMailComposeViewController 的navigationController 隐藏在呈现objMFMailComposeViewController 的视图的navigationController 后面。
另外,所有绑定到标签栏的视图控制器的 viewWillAppear viewDidAppear 永远不会被调用。
但是由 UITabbarTemplate 创建的 tabbar 和 viewcontroller 不会出现这个问题。
为什么会这样?创建标签栏时出了什么问题?
【问题讨论】:
标签: iphone uitabbarcontroller uinavigationbar