根据日期解锁内容(带有Xcode的iOS应用)

时间:2018-11-19 17:24:36

标签: ios swift4 xcode10

我正在尝试创建一个应用,您可以在整个12月份的每一天每天解锁某张图片,例如出现日历。

因此,如果用户在某天按下按钮(所有日期都有一个带有其日期的按钮),则应用程序应将设备上的当前日期与解锁日期进行比较。例如:

如果用户按下01.12.18(dd.MM.yy)的按钮,并且该按钮当前位于当日或之后的任何一天,则它将显示第一张图片。 否则:(如果还没到一天的话)用户将看到另一张图片,上面写着……。例如“您还为时过早!请再等等。”

非常感谢任何建议或示例代码!

代码原型如下:

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
}

@IBOutlet weak var dailyContent: UIImageView!

@IBAction func türchen1Button(_ sender: Any) {

    // if 01.12.18 (dd.MM.yy) is today or past today
    //      dailyContent.image = picture1
    //
    // else if 01.12.18 (dd.MM.yy) is in the future
    //      dailyContent.image = pictureTooEarly
   }
}

此应用程序应该是送给我女朋友的礼物,我感谢您的帮助! 先感谢您! 本杰明

1 个答案:

答案 0 :(得分:0)

  • 将标签1-24分配给代表日期的按钮。
  • 使用一个 IBAction并将所有按钮连接到该操作。

    @IBAction func türchenButton(_ sender: UIButton) { 
    
  • 在操作主体中获取当年并创建相应按钮的日期,并检查该日期是否在将来。

        let now = Date()
        let calendar = Calendar.current
        let currentYear = calendar.component(.year, from: now)
        let türchenComponents = DateComponents(year: currentYear, month: 12, day: sender.tag)
        let türchenDay = calendar.date(from: türchenComponents)!
        if calendar.compare(türchenDay, to: now, toGranularity: .day) == .orderedDescending {
            // is in the future
            dailyContent.image = pictureTooEarly
        } else {
            // is today or past today
            dailyContent.image = picture1
        }
    }