Coder Social home page Coder Social logo

yuizr / fscalendar Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wenchaod/fscalendar

0.0 1.0 0.0 1.4 MB

A superiorly awesome iOS7+ calendar control, compatible with both Objective-C and Swift2

License: MIT License

Objective-C 97.86% Ruby 0.24% Swift 1.89%

fscalendar's Introduction

fscalendar

Travis Version Platform Swift2 compatible Carthage compatible License Join the chat at https://gitter.im/WenchaoD/FSCalendar

Screenshots

iPhone

fscalendar

iPad

fscalendar-ipad

Working with AutoLayout and Orientation

fscalendar-scope-orientation-autolayout

Installation

CocoaPods:

  • For iOS8+: ๐Ÿ‘
use_frameworks!
pod 'FSCalendar'
  • For iOS7+:
pod 'FSCalendar'
  • Alternatively to give it a test run, run the command:
pod try FSCalendar

Carthage:

  • For iOS8+
github "WenchaoD/FSCalendar"

Manually:

  • Drag all files under FSCalendar folder into your project. ๐Ÿ‘

Support IBInspectable / IBDesignable

Only the methods marked "๐Ÿ‘" support IBInspectable / IBDesignable feature. Have fun with Interface builder

Setup

Use Interface Builder

  1. Drag an UIView object to ViewController Scene
  2. Change the Custom Class to FSCalendar
  3. Link dataSource and delegate to the ViewController

fscalendar-ib

  1. Finally, you should implement FSCalendarDataSource and FSCalendarDelegate in ViewController.m

Or use code

@property (weak , nonatomic) FSCalendar *calendar;
// In loadView(Recommended) or viewDidLoad
FSCalendar *calendar = [[FSCalendar alloc] initWithFrame:CGRectMake(0, 0, 320, 300)];
calendar.dataSource = self;
calendar.delegate = self;
[self.view addSubview:calendar];
self.calendar = calendar;

Or swift

private weak var calendar: FSCalendar!
// In loadView or viewDidLoad
let calendar = FSCalendar(frame: CGRect(x: 0, y: 0, width: 320, height: 300))
calendar.dataSource = self
calendar.delegate = self
view.addSubview(calendar)
self.calendar = calendar

Hide placeholder dates

fscalendar-showsplaceholder

  1. Set calendar.showsPlaceholders = NO;
  2. Implement -calendar:boundingRectWillChange:animated:
// For autoLayout
- (void)calendar:(FSCalendar *)calendar boundingRectWillChange:(CGRect)bounds animated:(BOOL)animated
{
    _calendarHeightConstraint.constant = CGRectGetHeight(bounds);
    [self.view layoutIfNeeded];
}
// For manual layout
- (void)calendar:(FSCalendar *)calendar boundingRectWillChange:(CGRect)bounds animated:(BOOL)animated
{
    calendar.frame = (CGRect){calendar.frame.origin,bounds.size};
}

Roll with Interface Builder

fscalendar - ibdesignable

More Usage

If you like this repo

  • Star this repo.
  • Send your calendar screenshot or itunes link address here.

Support me via paypal

License

FSCalendar is available under the MIT license. See the LICENSE file for more info.

Contributions

Contact

fscalendar's People

Contributors

jklp avatar lucianocn avatar readmecritic avatar sochalewski avatar vendruscolo avatar wenchaod avatar zjmdp avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.