当推送通知到达并且应用程序位于前台时,我需要显示自定义弹出窗口。它必须来自屏幕的上边缘,保持可见几秒钟,然后消失在上边缘后面。
我的问题是如何显示它?据我所知,为了使 View 可见,我必须将其作为 subview 添加到某些现有 View 中。但是推送通知可能会随机出现,所以我事先不知道哪个 View Controller 将在此时处于事件状态。
那么:我应该将自定义 View 附加到哪里(以使其在所有内容之上可见)?
最佳答案
您需要在您的 appDelegate 中实现以下委托(delegate),您的推送通知也会出现在前台。
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])
}
点击通知时,您可以获得与应用程序处于后台时相同的行为。
关于ios - 自定义通知式弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50354948/