【问题标题】:IOS Notification Does not navigate to specific screen in app (Swift)IOS 通知不会导航到应用程序中的特定屏幕(Swift)
【发布时间】:2015-01-25 16:45:28
【问题描述】:

我是 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】:

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

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

主要是您想在这里考虑是否涵盖所有内容,例如呈现模式视图然后关闭,或者您是否推入当前堆栈并允许用户弹回他们所在的位置。您不太可能想要拆除当前层次结构并使用通知控制器从头开始,但这也是一种选择。

因此,通常您会获得应用程序委托窗口的根视图控制器,它通常是全屏导航控制器。您拥有的一个可以展示您的通知控制器(从与导航控制器相同的故事板创建)或将其推送到堆栈中。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    相关资源
    最近更新 更多