IOS通知无法导航到应用程序中的特定屏幕(Swift)

时间:2015-01-25 16:45:29

标签: ios swift uilocalnotification

我是IOS编程的新手,但我似乎无法通过故事板向特定屏幕打开通知。通知看起来像我期望的那样,但我不知道是否指定了一个新行为来点击它。

由于

编辑:已添加代码

 // Local notification of event
    var localNotification:UILocalNotification = UILocalNotification()
    localNotification.alertAction = "Testing notifications on iOS8"
    localNotification.alertBody = "You have recieved a new secure communication!"
    localNotification.fireDate = NSDate(timeIntervalSinceNow: delay)
    localNotification.soundName = UILocalNotificationDefaultSoundName
    localNotification.category = "invite"
    UIApplication.sharedApplication().scheduleLocalNotification(localNotification)

这应该打开特定的UI视图。

1 个答案:

答案 0 :(得分:1)

您需要从应用代理中的代码开始,以便在应用收到本地通知时接收本地通知。

一旦你有了这个,你需要考虑你的应用程序及其视图控制器层次结构,并考虑应用程序可能刚刚启动(因此它将在你的根视图控制器)或它可能已经运行年龄(所以它可能在你的层次结构中的任何地方)。

主要是你想在这里考虑一下你是否覆盖了所有内容,例如呈现模态视图然后解雇,或者是否推送到当前堆栈并允许用户回到原来的位置。您不太可能想要撕掉当前的层次结构并从头开始使用通知控制器,但这也是一种选择。

所以,通常你会得到app delegates窗口的根视图控制器,它通常是一个全屏导航控制器。您可以使用它来呈现通知控制器(从与导航控制器相同的故事板创建)或将其推送到堆栈。

任何更复杂的方案都建立在这个基础之上。主要是你应该尝试限制你给应用程序委托的知识,以便它只知道导航控制器的故事板ID。如果您需要将通知传递给控制器​​,那么最好只为应用程序委托使用且通知控制器符合的协议定义协议。