#ios #push-notification
#iOS #push-уведомление
Вопрос:
Приведенный ниже код работает следующим образом: при нажатии кнопки «Мне нравится» отображается всплывающее уведомление, когда приложение находится на переднем плане
func ButtonPressed(index: Int, buttonName: String) {
print(buttonName)
if buttonName == "DisLike" {
guard let indexPath = CardsCollection.indexPathsForVisibleItems.first.flatMap({
IndexPath(item: index 1, section: $0.section)
}), CardsCollection.cellForItem(at: indexPath) != nil else {
return
}
CardsCollection.scrollToItem(at: indexPath, at: .left, animated: true)
}
else {
showLocalNotification()
}
}
При нажатии кнопки «не нравится» я хочу скрыть все предыдущие уведомления, которые все еще отображаются, потому что время истечения срока их действия по умолчанию еще не наступило.
Вот функция showNotification
функция showLocalNotification() {
// create notification content
let content = UNMutableNotificationContent()
content.title = "Image Got Liked!"
content.body = "Awsome You Like An Image!"
content.sound = UNNotificationSound.default
// triger the notification
let triger = UNTimeIntervalNotificationTrigger(timeInterval: 0.2, repeats: false)
// make a request for notification
let request = UNNotificationRequest(identifier: "Homyt", content: content, trigger: triger)
// make the request
UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
}
Комментарии:
1. Не могли бы вы показать код в showLocalNotification()? Чтобы иметь возможность отклонить уведомление, было бы полезно посмотреть, как оно создается и отображается.
2. Вот этот код
3. функция showLocalNotification() { пусть содержимое = неизменяемое содержимое notificationcontent().title = «Изображение понравилось!» содержимое. body = «Вам ужасно нравится изображение!» содержание. звук = UNNotificationSound. по умолчанию // запускает уведомление пусть triger = UNTimeIntervalNotificationTrigger(timeInterval: 0.2, повторяется: false) пусть request = UNNotificationRequest(идентификатор: «Homyt», содержимое: content, триггер: triger) UNUserNotificationCenter.current().add(запрос, с обработчиком завершений: ноль) }