JCMTimeSlider 0.2.2

JCMTimeSlider 0.2.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新版本2014年12月
SPM支持 SPM

Juan-Carlos Méndez-García 维护。




这是一个用于在包含大量数据点(日期)的时间线中导航的 iOS 控件

JCMTimeSlider in action

用法

以下代码展示了如何使用此控件。使用了常规的数据源/代理模式。

数据源需要实现 2 个函数:numberOfDates()dateAtIndex()。后者必须保证日期按升序排列。

class SampleData: JCMTimeSliderControlDataSource {
  func numberOfDates() -> Int {
    return data!.count
  }

  func dateAtIndex(index: Int) -> NSDate {
    return data![index]
  }
}

代理可选实现 hoveredOverDateselectedDate

class ViewController: UIViewController, JCMTimeSliderControlDelegate {

  @IBOutlet var timeControl1: JCMTimeSliderControl?

  override func viewDidLoad() {
    super.viewDidLoad()
    timeControl1?.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.4)
    timeControl1?.dataSource = your_data_source
    timeControl1?.delegate = self
    timeControl1?.tag = 1
  }

  func hoveredOverDate(date: NSDate, index: Int, control: JCMTimeSliderControl) {
    println("Hovered over control: \(control.tag) -> Date: \(date), loc: \(index)")
  }

  func selectedDate(date: NSDate, index: Int, control: JCMTimeSliderControl) {
    println("Selected control: \(control.tag) -> Date: \(date), loc: \(index)")
  }

}

待办事项

需要大量调试。这是一个非常早期的实现。