CalendarMenu 0.1.3

CalendarMenu 0.1.3

Galina FABIO维护。



  • ugalek

CalendarMenu

Platform iOS Swift 5 compatible License: MIT

为iOS(13.0或更高版本)提供的可自定义日历菜单,使用Swift 5编写。

  • 用于日期/周/月选择的UIControl子类
  • 支持国际化/本地化
  • 可主题化

示例

运行示例项目

$ git clone [email protected]:ugalek/CalendarMenu.git
$ cd CalendarMenu
$ pod install

使用方法

CalendarMenu可通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile中

pod 'CalendarMenu'

集成

导入CalendarMenu

import CalendarMenu

定义一个CalendarMenu视图IBOutlet(在此处命名为cMenu

@IBOutlet weak var cMenu: CalendarMenu!

添加一个处理目标的DateField对象

dateField.delegate = self
dateField.addTarget(self, action: #selector(textFieldTapped), for: .touchDown)

然后是相关联的@objc方法,它将调用showCalendarMenu()方法

@objc func textFieldTapped() {
    cMenu.showCalendarMenu()
}

所选的日期可以通过.valueChanged动作来处理

cMenu.addTarget(self, action: #selector(cMenuValueChanged), for: .valueChanged)

@objc func cMenuValueChanged() {
    calendarInterval = cMenu.calendarInterval
    dateField.text = cMenu.dateIntervalLabel.text
    switch calendarInterval {
    case .Day:
        dateOfCalendar = cMenu.dayOfCalendar ?? Date()
    case .Week:
        firstDayOfCalendar = cMenu.firstDayOfCalendar
        lastDayOfCalendar = cMenu.lastDayOfCalendar
    case .Month:
        monthOfCalendar = cMenu.monthOfCalendar ?? Date().startOfMonth
    }
}

主题化

自定义字体和颜色就像设置几个属性一样简单。

让我们通过修改日期间隔字体和按钮ansi颜色来举一个例子

cMenu.style.fontDateInterval = UIFont.systemFont(ofSize: 17.0, weight: .light)
cMenu.style.buttonTintColor = .red
属性 描述
bgColor 视图背景颜色
fontDateInterval 日期间隔标签字体
segmentControlTintColor 标签控制器渐变颜色
selectedSegmentTintColor 标签控制器选中项颜色
buttonTintColor 按钮ansi颜色
buttonBorderColor 按钮边框颜色

本地化

如果你的项目已进行本地化,你可以编辑 Localizable.strings 以自定义字符串

"Day" = "Jour";
"Week" = "Semaine";
"Month" = "Mois";
"Today" = "Aujourd'hui";

许可

CalendarMenu 在MIT许可下可用。更多信息请参阅LICENSE文件。