我的应用程序上有一个可操作的通知设置,带有YES按钮。是否可以在触发通知并按“是”按钮时将您带入特定视图控制器上的应用程序,而不是初始视图。
答案 0 :(得分:0)
是的,您可以使用iOS8的新方法handleActionWithIdentifier
来执行此任务。每当您按下操作按钮时,这些代表都会打电话。
委派localNotification :当用户从本地通知中选择操作激活您的应用时调用。
- (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forLocalNotification:(UILocalNotification *)notification completionHandler:(void(^)())completionHandler
remoteNotification的委派:当用户从远程通知中选择操作激活您的应用时调用。
- (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void(^)())completionHandler
注意:您应该在处理完动作后立即调用完成处理程序。
然后你可以使用它来获取rootViewController
,然后重定向到其他ViewController。
- (UIViewController*)GetTopViewController
{
AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
UIViewController *rootViewController = appDelegate.window.rootViewController;
if ([rootViewController isKindOfClass:[UINavigationController class]])
{
UINavigationController* rvc = (UINavigationController*)rootViewController;
rootViewController = rvc.visibleViewController;
}
return rootViewController;
}
其他相关Question Link