use*_*343 3 cocoa-touch objective-c tabbar push-notification ios
如何在收到推送通知时打开特定标签栏?
我已经放在[self.tabBarController setSelectedIndex:2];viewDidAppear上,发生了什么,在数据记录中,它显示它通过tabBar 2 viewController,但它没有打开/显示该页面并保留在firstView控制器/第一个tabBar.
然后在我终止应用程序并打开后,自动/突然打开tabBar 2 viewController.
谁能提出任何想法或示例代码来解决这个问题?
这是在我的didReceiveRemoteNotification中;
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
NSLog(@"Remote notification received");
if([userInfo valueForKey:@"app"]) {
NSString *action_app = [userInfo valueForKey:@"app"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:action_app forKey:@"app"];
NewVC *sample=[[NewVC alloc]init];
[sample viewDidLoad];
//[self.tabBarController setSelectedIndex:2];
[self clearNotifications];
}else{
NSLog(@"---nothing to read---");
}
}
Run Code Online (Sandbox Code Playgroud)
NewVC位于tabbar 2.
Tos*_*lji 10
您必须更改tabbar selectedIndex,如,
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
if([userInfo valueForKey:@"app"]) {
NSString *action_app = [userInfo valueForKey:@"app"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:action_app forKey:@"app"];
UITabBarController *tabb = (UITabBarController *)self.window.rootViewController;
tabb.selectedIndex = 2;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5477 次 |
| 最近记录: |