自定义通知类弹出窗口

时间:2018-05-15 16:19:14

标签: ios

当推送通知到达且应用程序在前台时,我需要显示自定义弹出窗口。它必须来自屏幕的上边缘,保持可见几秒钟,然后消失在顶部边缘后面。

我的问题是如何展示它?据我所知,为了使视图可见,我必须将其作为子视图添加到某个现有视图中。但是推送通知可能是随机发生的,所以我不知道哪个视图控制器会在那个时刻处于活动状态。

那么:我将自定义视图附加到哪里(使其在所有内容上都可见)?

1 个答案:

答案 0 :(得分:1)

您需要在appDelegate中实现以下委托,并且您的推送通知也会显示在前台。

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    completionHandler()
}


func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
    completionHandler([.alert, .sound])
}

点击通知后,您可以获得与应用在后台时相同的行为。