Maya 1.2.2

Maya 1.2.2

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最后发布2016 年 4 月
SPM支持 SPM

Ivan Bruel维护。



Maya 1.2.2

Maya

Maya

Maya 是一个可定制的日历库,带有一个开箱即用的 MayaCalendarView

Maya 还包括一些辅助类,使得日期管理更加简单(《MayaDate)、《MayaWeekday》和《MayaMonth》)。

安装

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

pod 'Maya'

用法

MayaCalendarView 支持通过 xibs程序化 两种方式使用。

程序化

您可以通过初始化它来创建一个 MayaCalendarView 对象,就像初始化任何其他 UIView 子类。

import Maya

class YourViewController: UIViewController {

  var calendarView: MayaCalendarView!

  override func viewDidLoad() {
    calendarView = MayaCalendarView(frame: view.bounds)
    view.addSubview(calendarView)
  }
}

使用 XIB

要将 MayaCalendarView 添加到 XIB(或 Storyboard),您只需从 对象库 拖动一个 UIView,并将其类更改为 MayaCalendarView

Step1

Step2

属性

MayaCalendarView 为了避免潜在的性能问题,使用一系列月份和当前月份作为其内部数据模型。

您可以自由设置 firstMonthlastMonthcurrentMonth 的值,日历将根据需要进行调整。

定制

MayaCalendarView 允许更改许多值以更好地满足您的需求

  • weekdays:表示从周日开始到周六结束的 7 个字符串的数组。(默认为 “su, mo, tu, we, th, fr, sa”)
  • monthFont:用来书写月份名称的字体。(默认为 UIFont.boldSystemOfSize(18)
  • weekdayFont:用来书写星期名称的字体。(默认为 UIFont.systemFontOfSize(15)
  • dayFont:用来书写日期数字的字体。(默认为 UIFont.systemFontOfSize(16)
  • weekdayTextColor:书写星期名称时的颜色。(默认为 UIColor.blackColor()

数据源

这个库的主要目的是允许你的 dataSource 自定义每一天的外观。

MayaDataSource 提供以下函数来自定义:

  • calendarMonthName(month: MayaMonth) -> String?:给每个月份的名称。(默认为完整月份名称,例如十二月)
  • calendarTextColorForDate(date: MayaDate) -> UIColor?:用于书写日期数字的颜色。(默认为 UIColor.blackColor()
  • calendarBackgroundColorForDate(date: MayaDate) -> UIColor?:设置日期背景的颜色。(默认为 UIColor.clearColor()

代理

为了与 MayaCalendarView 交互,你也可以设置 delegate 属性。

MayaDelegate 允许接收以下操作的通知:

  • func calendarDidSelectDate(date: MayaDate):当用户在日历中点击特定日期时调用。
  • func calendarDidChangeMonth(month: MayaMonth):当用户点击箭头按钮或滚动到不同月份时调用。

要求

iOS 9.0+

示例

Example 目录中有一个示例项目。

作者

Ivan Bruel, @ivanbruel

许可证

Maya 可在 MIT 许可证下获取。有关更多信息,请参阅 LICENSE 文件。