Swift:在移除之前将视图(用于应用内通知)动画显示在屏幕上几秒钟
Swift: Animating a view (for in-app notifications) onto the screen for a few seconds before removing
我正在尝试做这里完美描述的事情:https://github.com/bryx-inc/BRYXBanner
我想创建一个横幅,它会在屏幕上弹出几秒钟,然后被删除(或被点击时删除)。上面的项目在 iOS 9 之前一直很好。在那之后和 iOS 10,横幅不再像预期的那样工作,要么显示三分之一秒没有动画,要么不显示展示。
如何添加一个在屏幕上显示动画的视图,然后返回以在应用程序内向用户提供快速 "No Internet" 通知。我想避免使用通知中心。
我遇到了类似的问题并为此创建了自己的库:MDNotificationView
GitHub 上的示例应用实现了您的想法。这是一个实现它的小片段:
let view = MDNotificationCompactLayoutView()
view.textLabel.text = "No internet connection."
let notificationView = MDNotificationView(view: view)
notificationView.delegate = self
notificationView.show()
// MARK: - Notification View Delegate
func notificationDidShow(notificationView: MDNotificationView) {
// Hide the notification view automatically after 5 seconds.
DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
notificationView.hide()
}
}
我正在尝试做这里完美描述的事情:https://github.com/bryx-inc/BRYXBanner
我想创建一个横幅,它会在屏幕上弹出几秒钟,然后被删除(或被点击时删除)。上面的项目在 iOS 9 之前一直很好。在那之后和 iOS 10,横幅不再像预期的那样工作,要么显示三分之一秒没有动画,要么不显示展示。
如何添加一个在屏幕上显示动画的视图,然后返回以在应用程序内向用户提供快速 "No Internet" 通知。我想避免使用通知中心。
我遇到了类似的问题并为此创建了自己的库:MDNotificationView
GitHub 上的示例应用实现了您的想法。这是一个实现它的小片段:
let view = MDNotificationCompactLayoutView()
view.textLabel.text = "No internet connection."
let notificationView = MDNotificationView(view: view)
notificationView.delegate = self
notificationView.show()
// MARK: - Notification View Delegate
func notificationDidShow(notificationView: MDNotificationView) {
// Hide the notification view automatically after 5 seconds.
DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
notificationView.hide()
}
}