ios - SWRevealViewController 在收到推送通知时转到导航控制器中的最后一个视图
ios - SWRevealViewController segue to last view in navigation controller when receive push notification
我在我的项目中使用 SWRevealViewController 2.3.0。我的故事板设计如下:
http://i.stack.imgur.com/txv0G.png
当应用程序未 运行(完全终止)并且推送通知到来时,如何获取 详细视图控制器 显示 后退按钮返回主视图控制器?某些通知值应该已传递到详细信息视图。
感谢您的帮助。
我在这种情况下所做的是
你可以检查 launchOptions
是否不为零 didFinishLaunchingWithOptions
as
if (launchOptions)
{
NSDictionary *dic = [launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"];
[[NSUserDefaults standardUserDefaults] setObject:[dic objectForKey:@"aps"] forKey:@"PushNotification"];
}
else
{
[[NSUserDefaults standardUserDefaults] setObject:nil forKey:@"PushNotification"];
}
并像我一样保存在用户默认值中。
现在只需当您处于 mainViewController
时,您就可以将其检查为
NSDictionary *notification = [[NSUserDefaults standardUserDefaults] objectForKey:@"PushNotification"];
if (notification)
{
// check the dictionary "Push Notification" Key Values that you are receiving to go in `DetailViewController`
// Now go to `DetailViewContoller` having your details from `PushNotification`by `performSegueWithIdentifier`
[self performSegueWithIdentifier:@"DetailViewController" sender:self];
// make this value nil for normal use
[[NSUserDefaults standardUserDefaults] setObject:nil forKey:@"PushNotification"];
}
如果这里不把这个userDefaults的值设为nil,在DetailViewController中也可以使用,但是不要忘记用完后设为nil。
使用这种方式,您的 BACK 按钮应该显示在 DetailViewController
中
我在我的项目中使用 SWRevealViewController 2.3.0。我的故事板设计如下: http://i.stack.imgur.com/txv0G.png
当应用程序未 运行(完全终止)并且推送通知到来时,如何获取 详细视图控制器 显示 后退按钮返回主视图控制器?某些通知值应该已传递到详细信息视图。
感谢您的帮助。
我在这种情况下所做的是
你可以检查 launchOptions
是否不为零 didFinishLaunchingWithOptions
as
if (launchOptions)
{
NSDictionary *dic = [launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"];
[[NSUserDefaults standardUserDefaults] setObject:[dic objectForKey:@"aps"] forKey:@"PushNotification"];
}
else
{
[[NSUserDefaults standardUserDefaults] setObject:nil forKey:@"PushNotification"];
}
并像我一样保存在用户默认值中。
现在只需当您处于 mainViewController
时,您就可以将其检查为
NSDictionary *notification = [[NSUserDefaults standardUserDefaults] objectForKey:@"PushNotification"];
if (notification)
{
// check the dictionary "Push Notification" Key Values that you are receiving to go in `DetailViewController`
// Now go to `DetailViewContoller` having your details from `PushNotification`by `performSegueWithIdentifier`
[self performSegueWithIdentifier:@"DetailViewController" sender:self];
// make this value nil for normal use
[[NSUserDefaults standardUserDefaults] setObject:nil forKey:@"PushNotification"];
}
如果这里不把这个userDefaults的值设为nil,在DetailViewController中也可以使用,但是不要忘记用完后设为nil。
使用这种方式,您的 BACK 按钮应该显示在 DetailViewController
中