我试图根据日期在我的应用中显示某些弹出窗口。比如说复活节快乐的弹出窗口!我已经创建了视图。我只需要知道如何提取日期并将其转换为变量,以便当日期与假期或其他事件(如用户生日)的日期匹配时,如果双击或在10秒后显示弹出窗口,然后将其关闭
答案 0 :(得分:0)
您需要确定何时要检查日期,以查看是假期还是其他特殊日期。
一种选择是订阅UIApplicationDidBecomeActive
通知。另一个是UIApplicationDelegate
applicationDidBecomeActive(_:)
。如果您在应用程序委托中实现该函数,则在应用程序激活时将被调用。然后,您可以编写代码来检查日期,如果它是一个特殊日期,并且之前没有显示该日期的消息,请在键窗口中显示一个弹出窗口。
//Add a var to your app delegate
var currentDate: Date?
Add a function something like this to your app delegate
func applicationDidBecomeActive(_ application: UIApplication) {
let newDate = Date()
defer {
currentDate = newDate
}
let calendar = Calendar.current
guard let oldDate = currentDate else { return }
if !calendar.isDate(oldDate, inSameDayAs: newDate) {
//Display your popup
}
}