iOS开源 - 日历组件

mg6247 8年前
   <h2><strong>Koyomi</strong></h2>    <p>Koyomiis a simple calender view framework for iOS, written in Swift :calendar:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/fb27c734395bab3e473b2bf6d842d747.jpg"></p>    <h2><img src="https://simg.open-open.com/show/5b2c331b4062e15f7bce260ca0e441f1.png"><strong> Features</strong></h2>    <ul>     <li>Simple Calender View :calendar:</li>     <li>Easily usable :sunglasses:</li>     <li>Customizable in any properties for appearance</li>     <li>Support @IBDesignable and @IBInspectable</li>     <li>Support Swift 2.3</li>     <li>Support Swift 3.0</li>    </ul>    <h2><strong>Demo App</strong></h2>    <p>Open Example/Koyomi.xcworkspace and run Koyomi-Example to see a simple demonstration.</p>    <h2><strong>Usage</strong></h2>    <p><em>Koyomi</em> is designed to be easy to use :sunglasses:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/f3f7adc05fc5d1c694aa5a300c37421b.gif"></p>    <pre>  let frame = CGRect(x: 10, y : 20, width: 250, height: 300)      let koyomi = Koyomi(frame: frame, sectionSpace: 1.5, cellSpace: 0.5, inset: UIEdgeInsetsZero, weekCellHeight: 25)      view.addSubview(koyomi)</pre>    <p>Koyomi is available in Interface Builder. Set custom class of UICollectionView to Koyomi</p>    <pre>  @IBOutlet weak var koyomi: Koyomi!</pre>    <h3><strong>:calendar: Change displayed month</strong></h3>    <p>If you want to change displayed month, call display(in: MonthType) . MonthType is defined by three types.</p>    <pre>  public enum MonthType { case previous, current, next }        // change month      koyomi.display(in: .next)</pre>    <h3><strong>Get current month string</strong></h3>    <pre>  let currentDateString = koyomi.currentDateString(withFormat: "M/yyyy")</pre>    <h3><strong>The selection state of date</strong></h3>    <p>You can select specific date.</p>    <pre>  let today = NSDate()      let components = NSDateComponents()      components.day = 7      let weekLaterDay = NSCalendar.currentCalendar().dateByAddingComponents(components, toDate: today, options: NSCalendarOptions(rawValue: 0))      koyomi.select(date: NSDate(), to: weekLaterDay)        // If want to select only one day, call koyomi.select(date: today)</pre>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/ac1798351629f1e067395c2000732600.png"></p>    <p>You can also unselect available.</p>    <pre>  koyomi.unselect(NSDate(), to: weekLaterDay) // or koyomi.unselect(NSDate())        // unselect all date      koyomi.unselectAll()</pre>    <p>You can configure day color in selected state.</p>    <pre>  // Support @IBInspectable      @IBInspectable public var selectedBackgroundColor: UIColor      @IBInspectable public var selectedTextColor: UIColor</pre>    <h2><strong>KoyomiDelegate</strong></h2>    <p>If you want to use KoyomiDelegate , set calenderDelegate to target</p>    <pre>  koyomi.calenderDelegate = self</pre>    <p>Return the date user selected, when tapped cell</p>    <pre>  optional func koyomi(koyomi: Koyomi, didSelect date: NSDate, forItemAt indexPath: NSIndexPath)</pre>    <p>Return the current month string, when changed month.</p>    <pre>  optional func koyomi(koyomi: Koyomi, currentDateString dateString: String)        // if you want to change string format, use `currentDateFormat`      koyomi.currentDateFormat = "M/yyyy"</pre>    <h2><strong>:wrench: Customize Koyomi</strong></h2>    <h3><strong>Customize layout</strong></h3>    <pre>  // Support @IBInspectable      @IBInspectable var sectionSpace: CGFloa      @IBInspectable var cellSpace: CGFloat      @IBInspectable var weekCellHeight: CGFloat      // Public method      public var inset: UIEdgeInsets</pre>    <p><img src="https://simg.open-open.com/show/5547ad4621a49cc883e3158643bcb22d.png"></p>    <pre>  koyomi.inset = UIEdgeInsets(top: 0.5, left: 0.5, bottom: 0.5, right: 0.5)</pre>    <p>Set sectionSpace , cellSpace , weekCellHeight in initialization or Interface Builder.</p>    <h3><strong>Customize text font</strong></h3>    <pre>  // set Day and Week Label Font      koyomi          .setDayFont(size: 12)           .setWeekFont(size: 8)        // if want to change font name, use:       // setDayFont(fontName: ".SFUIText-Medium", size: 12)</pre>    <h3><strong>Customize weeks text</strong></h3>    <pre>  koyomi.weeks = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]</pre>    <h2><strong>Customize color</strong></h2>    <pre>  // Support @IBInspectable      @IBInspectable public var sectionSeparatorColor: UIColor      @IBInspectable public var separatorColor: UIColor      @IBInspectable public var weekColor: UIColor      @IBInspectable public var weekdayColor: UIColor      @IBInspectable public var holidayColor: UIColor      @IBInspectable public var otherMonthColor: UIColor      @IBInspectable public var dayBackgrondColor: UIColor      @IBInspectable public var weekBackgrondColor: UIColor      @IBInspectable public var selectedBackgroundColor: UIColor      @IBInspectable public var selectedTextColor: UIColor</pre>    <p>You can configure the lots of color properties for appearance :weary:</p>    <p>Don't worry :stuck_out_tongue_closed_eyes: , you can easily configure appearance by using KoyomiStyle .</p>    <pre>  koyomi.style = .tealBlue</pre>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/ed4bc5a73ebcd19ef98a30b173e4e869.png"></p>    <p>KoyomiStyle is defined by 10 types.</p>    <pre>  enum KoyomiStyle {          case monotone, standard, red, orange, yellow, tealBlue, blue, purple, green, pink      }</pre>    <h2><strong>:memo: Requirements</strong></h2>    <ul>     <li>iOS 8.0+</li>     <li>Xcode 8.0+</li>    </ul>    <h2><strong>:computer: Installation</strong></h2>    <p>Koyomi is available through CocoaPods . To install it, simply add the following line to your Podfile:</p>    <pre>  pod "Koyomi"</pre>    <h2><strong>:coffee:️ Author</strong></h2>    <p>shoheiyokoyama, <a href="/misc/goto?guid=4959721419944955350" rel="nofollow,noindex">shohei.yok0602@gmail.com</a></p>    <h2><strong>:unlock: License</strong></h2>    <p>Koyomi is available under the MIT license. See theLICENSE file for more info.</p>    <p> </p>    <p> </p>    <p> </p>