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

问题描述 投票:0回答:1

我是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视图。

ios swift uilocalnotification
1个回答
1
投票

您需要从应用程序委托中的代码开始,以便在应用程序收到本地通知时获取本地通知。

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.