- 在您静静的离开之前,请确保点击了这个按钮<img style="margin-bottom:-12px"" width="72" alt="star" src="https://cloud.githubusercontent.com/assets/5186464/15383105/fcf9cdf0-1dc2-11e6-88db-bf221042a584.png">
- Before leaving quietly, please make sure you've taken good care of this button.<img style="margin-bottom:-12px"" width="72" alt="star" src="https://cloud.githubusercontent.com/assets/5186464/15383105/fcf9cdf0-1dc2-11e6-88db-bf221042a584.png">
欢迎加入QQ群: 323861692
中文介绍
Table of contents
Screenshots
iPhone
iPad
Working with AutoLayout and Orientation
Hide placeholder dates
Scope gesture
FSCalendar doesn't change frame or the constraint by itself, see Adjusts frame dynamicly
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
- Drag an UIView object to ViewController Scene
- Change the
Custom Class
toFSCalendar
- Link
dataSource
anddelegate
to the ViewController
- Finally, you should implement
FSCalendarDataSource
andFSCalendarDelegate
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
- To use
FSCalendar
in swift, you need to Create Bridge Header first.
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
Warning
FSCalendar
doesn't change frame by itself, Please implement
- 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
Advanced Usage
- To view more usage, download the zip file and read the example.
- Or you could refer to this document
- To view the full documentation, see CocoaPods Documentation
Support me via
打赏支持
Communications
- If you found a bug with certain steps to reproduce, open an issue.
- If you need help about your code, use stackoverflow and tag
fscalendar
- If you want to contribute, submit a pull request. Make sure to follow Coding Guidelines for Cocoa
If your made a beautiful calendar with this library in your app, please take a screen shot and @me in twitter. Your help really means a lot to me!
如果你用这个库完成了一个外观漂亮的日历,希望你能将这个漂亮的日历截图在微博中@我,十分感谢!
License
FSCalendar is available under the MIT license. See the LICENSE file for more info.