通知后,从应用程序委托将视图控制器推送到选项卡栏中
Posted
技术标签:
【中文标题】通知后,从应用程序委托将视图控制器推送到选项卡栏中【英文标题】:pushing view controller inside a tab bar from app delegate, after a notification 【发布时间】:2010-06-06 13:29:49 【问题描述】:我有一个带有标签栏的应用程序,每个标签内都有一个导航控制器。 我设置了一个通知,当它午餐时,用户可以通过按警报上的操作来获取午餐应用程序。
我想将用户重定向到其中一个控制器内的视图之一。
我试过这个:
- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif
NSArray *data = [notif.userInfo objectForKey:@"todoDate"];
NSInteger ind = [[data objectAtIndex:2] integerValue];
QuickViewController *detailViewController ;
detailViewController = [[QuickViewController alloc] initWithNibName:@"QuickViewController" bundle:nil];
detailViewController.title = @"Edit";
detailViewController.personName = [data objectAtIndex:0];
detailViewController.DelitionDate=[data objectAtIndex:1];
detailViewController.personCategory=@"NO Category";
detailViewController.personID = ind r ;
rootControler.selectedIndex = 1;
[rootControler.tabBarController.selectedViewController.navigationController pushViewController:detailViewController animated:YES];
但是除了 :rootControler.selectedIndex = 1; 之外什么都没有发生(没有崩溃)
当我尝试: presentModalViewController
我得到了完美的视图,但没有导航控制器。
谢谢 沙尼
【问题讨论】:
【参考方案1】:当您真的想以detailViewController
作为其根视图推送UINavigationController
时,听起来您正在推送detailViewController
。试试这样的:
QuickViewController *detailViewController ;
detailViewController =
[[QuickViewController alloc] initWithNibName:@"QuickViewController"
bundle:nil];
UINavigationController *navigationController =
[[UINavigationController alloc] initWithRootViewController:detailViewController];
[detailViewController release];
...
[rootControler.tabBarController.selectedViewController.navigationController
pushViewController:navigationController animated:YES]
【讨论】:
感谢 jeff 现在它的工作,只需将最后一个命令更改为:[rootControler presentModalViewController:navigationController animated:YES];美好的一天 没问题。随意单击绿色复选标记将此答案标记为已接受;这将有助于您获得回答未来问题的机会。以上是关于通知后,从应用程序委托将视图控制器推送到选项卡栏中的主要内容,如果未能解决你的问题,请参考以下文章
将 UIViewController 推送到导航堆栈时如何显示选项卡栏
当点击 FCM 推送通知时,如何在选项卡栏中打开特定的视图控制器?
iphone:需要在视图控制器中实现导航控制器,该控制器在选项卡栏中选择选项卡后出现