As a mobile project, WenchaoD/FSCalendar has picked up 10.6k stars on GitHub (Objective-C). A fully customizable iOS calendar library, compatible with Objective-C and Swift
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Drag all files under FSCalendar folder into your project. 👍
Alternatively to give it a test run, simply press command+u in Example-Objc or Example-Swift and launch the UITest Target.
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
4、 Finally, implement FSCalendarDataSource and FSCalendarDelegate in your ViewController
To use FSCalendar in swift, you need to Create Bridge Header first.
fileprivate 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
To use FSCalendar in Swift3, see Example-Swift for details.
Warning
FSCalendardoesn't update frame by itself, Please implement
For AutoLayout
- (void)calendar:(FSCalendar *)calendar boundingRectWillChange:(CGRect)bounds animated:(BOOL)animated
{
self.calendarHeightConstraint.constant = CGRectGetHeight(bounds);
// Do other updates here
[self.view layoutIfNeeded];
}
For Manual Layout
- (void)calendar:(FSCalendar *)calendar boundingRectWillChange:(CGRect)bounds animated:(BOOL)animated
{
calendar.frame = (CGRect){calendar.frame.origin,bounds.size};
// Do other updates here
}
If you are using Masonry
- (void)calendar:(FSCalendar *)calendar boundingRectWillChange:(CGRect)bounds animated:(BOOL)animated
{
[calendar mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.equalTo(@(bounds.size.height));
// Do other updates
}];
[self.view layoutIfNeeded];
}
If you are using SnapKit
func calendar(_ calendar: FSCalendar, boundingRectWillChange bounds: CGRect, animated: Bool) {
calendar.snp.updateConstraints { (make) in
make.height.equalTo(bounds.height)
// Do other updates
}
self.view.layoutIfNeeded()
}
Roll with Interface Builder
Pre-knowledge
In Swift3, NSDate and NSDateFormatter have been renamed to Date and DateFormatter , see Example-Swift for details.
BOOL sameDay = [self.gregorian isDate:date1 inSameDayAsDate:date2];
// Yes if the date1 and date2 are in same day
[self.gregorian compareDate:date1 toDate:date2 toUnitGranularity:unit];
// compare the era/year/month/day/hour/minute .etc ...
// return NSOrderAscending/NSOrderSame/NSOrderDecending
BOOL inSameUnit = [self.gregorian isDate:date1 equalToDate:date2 toUnitGranularity:unit];
// if the given unit (era/year/month/day/hour/minute .etc) are the same
Support this repo
★Star this repo
Support with
Support with or
Contact
微博: @WenchaoD
Twitter:@WenchaoD
QQ支持群:
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.
The most recent commit recorded on WenchaoD/FSCalendar was 2.0 years ago, based on the GitHub push timestamp. The repository has 1.9k forks — one of the better signals of community interest.
How many stars does WenchaoD/FSCalendar have?
WenchaoD/FSCalendar has 10.6k GitHub stars — refresh the page for the live number, or check github.com/WenchaoD/FSCalendar. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What else is in the Mobile space?
WenchaoD/FSCalendar is tracked by TopGit under the Mobile category, alongside 7 GitHub-tagged topics. Trending and Topics pages list peer repositories of comparable stars and language.
What language is WenchaoD/FSCalendar written in?
WenchaoD/FSCalendar is written primarily in Objective-C. GitHub's language field is based on the largest share of bytes in the default branch.
What topics is WenchaoD/FSCalendar associated with?
GitHub's repository topics for WenchaoD/FSCalendar: "calendar", "carthage", "cocoapods", "ios", "library", "objective-c", "swift". TopGit's editorial category is Mobile.
Where do I read more about WenchaoD/FSCalendar?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/WenchaoD/FSCalendar is the definitive source.
Why is WenchaoD/FSCalendar categorized under Mobile?
TopGit places WenchaoD/FSCalendar in the Mobile category based on its GitHub topics and description (tagged: "calendar", "carthage", "cocoapods"). Categories are assigned from real repository metadata, not editorial guesswork.
Read full README in the tab above.
Want a second opinion on FSCalendar?
Ask an AI that can read this page — one click and you get its take on FSCalendar.