加载视图的本地通知

Posted

技术标签:

【中文标题】加载视图的本地通知【英文标题】:Local Notification To Load a View 【发布时间】:2014-04-30 15:46:39 【问题描述】:

我有一个使用本地通知的应用,我想让应用在收到通知时加载不同的页面。我还希望它在使用幻灯片解锁通知时加载这个新视图。

我的故事板没有导航控制器,可以这样做吗?

【问题讨论】:

【参考方案1】:

您可以通过以下方式处理本地通知:

在 AppDelegate 中添加以下方法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

这段代码:

// Handle launching from a notification
UILocalNotification *locationNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (locationNotification) 
    // Set icon badge number to zero
    application.applicationIconBadgeNumber = 0;
    // redirect to UIViewController
    UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:[NSBundle mainBundle]];
    UIViewController * notificationViewController = [storyBoard instantiateViewControllerWithIdentifier:@"IdentifierOfViewController"];
    self.window.rootViewController = notificationViewController; // set the new UIViewController

这使您可以在应用程序启动后立即处理本地通知,方法是在“幻灯片查看”对话框上操作,或者只是打开应用程序。 如果有通知,您可以在应用程序中更改 rootViewController

我的故事板没有导航控制器,这可能吗? 完成了吗?

是的,只要您使用模态导航,这就不成问题。

编辑

如果您想在用户当前打开应用的情况下处理通知,您可以通过在 AppDelegate 中放置以下方法来捕获通知:

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

【讨论】:

以上是关于加载视图的本地通知的主要内容,如果未能解决你的问题,请参考以下文章

在 ios 中获取活动的本地通知警报类型或本地通知警报视图按钮单击事件

本地通知中的进度视图

通过点击本地通知呈现特定视图

iOS 通过本地通知显示特定的视图控制器

如何在 ios 10 中为不同的本地通知启动不同的视图控制器

Swift 本地推送通知操作视图