All Projects → maximbilan → Calendar Ios

maximbilan / Calendar Ios

Licence: mit
Calendar View

Projects that are alternatives of or similar to Calendar Ios

Customizablecalendar
CustomizableCalendar is a library that allows you to create your calendar, customizing UI and behaviour
Stars: ✭ 214 (+38.96%)
Mutual labels:  calendar, calendar-view, calendar-component
GCCalendar
A customizable calendar view for iOS 9+ written in Swift.
Stars: ✭ 53 (-65.58%)
Mutual labels:  calendar, calendar-component, calendar-view
Eventscalendar
Events Calendar is a user-friendly library that helps you achieve a cool Calendar UI with events mapping. You can customise every pixel of the calendar as per your wish and still achieve in implementing all the functionalities of the native android calendar in addition with adding dots to the calendar which represents the presence of an event on the respective dates. It can be done easily, you are just a few steps away from implementing your own badass looking Calendar for your very own project!
Stars: ✭ 188 (+22.08%)
Mutual labels:  calendar, calendar-view, calendar-component
Xamarin.plugin.calendar
Calendar plugin for Xamarin.Forms
Stars: ✭ 159 (+3.25%)
Mutual labels:  calendar, calendar-view, calendar-component
Mbcalendarkit
An open source calendar framework for iOS, with support for customization, IBDesignable, Autolayout, and more.
Stars: ✭ 561 (+264.29%)
Mutual labels:  uikit, calendar, calendar-view
Primedatepicker
PrimeDatePicker is a tool that provides picking a single day, multiple days, and a range of days.
Stars: ✭ 292 (+89.61%)
Mutual labels:  calendar, calendar-view, calendar-component
Vacalendar
Custom Calendar for iOS in Swift
Stars: ✭ 184 (+19.48%)
Mutual labels:  ui-components, calendar, calendar-component
Yycalendar
Simple and Clear Calendar
Stars: ✭ 46 (-70.13%)
Mutual labels:  calendar, calendar-view, calendar-component
Calendarview
An Easy to Use Calendar for iOS (Swift 5.0)
Stars: ✭ 429 (+178.57%)
Mutual labels:  calendar, calendar-view, calendar-component
Cvcalendar
A custom visual calendar for iOS 8+ written in Swift (>= 4.0).
Stars: ✭ 3,435 (+2130.52%)
Mutual labels:  calendar, calendar-view, calendar-component
Calendarview
Android上一个优雅、万能自定义UI、仿iOS、支持垂直、水平方向切换、支持周视图、自定义周起始、性能高效的日历控件,支持热插拔实现的UI定制!支持标记、自定义颜色、农历、自定义月视图各种显示模式等。Canvas绘制,速度快、占用内存低,你真的想不到日历居然还可以如此优雅!An elegant, highly customized and high-performance Calendar Widget on Android.
Stars: ✭ 7,998 (+5093.51%)
Mutual labels:  calendar, calendar-view, calendar-component
Recyclercalendarandroid
A simple DIY library to generate your own custom Calendar View using RecyclerView, written in Kotlin
Stars: ✭ 83 (-46.1%)
Mutual labels:  calendar, calendar-view, calendar-component
Taiga Ui
Angular UI Kit and components library for awesome people
Stars: ✭ 1,353 (+778.57%)
Mutual labels:  uikit, ui-components
Aircalendarview
Airbnb APP CalendarView
Stars: ✭ 96 (-37.66%)
Mutual labels:  calendar, calendar-view
Datingapp
Dating UI kit is used for online meet up with girls and boys . The screen contains more than 30 icons and most of all required elements required to design an application like this. The XML and JAVA files contains comments at each and every point for easy understanding. Everything was made with a detail oriented style and followed by today's web trends. Clean coded & Layers are well-organized, carefully named, and grouped.
Stars: ✭ 97 (-37.01%)
Mutual labels:  uikit, ui-components
Pg Calendar
📆 beautiful and eidetic date picker
Stars: ✭ 109 (-29.22%)
Mutual labels:  ui-components, calendar
React Native General Calendars
React Native Calendar Components 📆
Stars: ✭ 94 (-38.96%)
Mutual labels:  ui-components, calendar
Class101 Ui
💅A React-based UI Component Library.
Stars: ✭ 102 (-33.77%)
Mutual labels:  uikit, ui-components
Nativescript Ui Feedback
This repository is used for customer feedback regarding Telerik UI for NativeScript. The issues system here is used by customers who want to submit their feature requests or vote for existing ones.
Stars: ✭ 110 (-28.57%)
Mutual labels:  ui-components, calendar
Ct Material Kit Pro
Premium Bootstrap 4 UI Kit based on Google's Material Design
Stars: ✭ 123 (-20.13%)
Mutual labels:  uikit, ui-components

iOS Calendar

Version License Platform CocoaPods CocoaPods

It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover.
alt tag alt tag
Using popover:

alt tag

How to install

Manual:

Add to your project the next source files:

CalendarView.h
CalendarView.m
NSDate+CalendarView.h
NSDate+CalendarView.m
NSString+CalendarView.h
NSString+CalendarView.m

CocoaPods:

pod 'Calendar-iOS'

How to use

You can add view in the Interface Builder and set class to CalendarView or create in the code:

CalendarView *calendarView = [[CalendarView alloc] initWithPosition:10.0 y:10.0];
[self.view addSubview:calendarView];

So, it's all, you should see the calendar view.
This component was created for iPhone/iPod resolution, for iPad its works, but it looks really small, if it's necessary, you can play with static constants in the CalendarView.m, and maybe in future, will be done the scaling.
This calendar has some modes:

typedef NS_ENUM(NSInteger, CalendarMode)
{
    CalendarModeDefault,
    CalendarModeMonthsAndYears,
    CalendarModeYears
};

Default - there're days, months and years, the user can change months with help swipe gesture or pinch gesture for transitions in the calendar
MonthsAndYears - available months and years
Years - only years

There are external methods to mimic the swiping behavior in case a different UI is desired. However, these events will be logged with a different event type than swiping.

There are also some options for display:

// Whether the currently selected date should be marked
@property (nonatomic, assign) BOOL shouldMarkSelectedDate;
// Whether today's date should be marked
@property (nonatomic, assign) BOOL shouldMarkToday;
// Whether the month and year headers should be shown
@property (nonatomic, assign) BOOL shouldShowHeaders;
// Preferred weekday start
- (void)setPreferredWeekStartIndex:(NSInteger)index;

Date Markers - Default behavior is to mark the currently selected date and not today, but this can be customized to suit your needs. If both are marked and coincide on the same day, it will show up with the current selection color, not today's color.
Headers - Default behavior is to show the headers, but they can also be hidden, in which case everything else will get shifted up accordingly (after a set needs display call).
Preferred Week Start - Default behavior behavior is Monday. Determines what day of the week is in the leftmost column.

How to use Locale and CalendarIdentifier

It's very simple and useful to create calendar base on your locale and of course your country.

NSLocale *persianLocale = [NSLocale alloc]initWithLocaleIdentifier:@"fa-IR"];
[self.calendarView setLocale:persianLocale];

And for using CalendarIdentifier use this property :

[self.calendarView setCalendarIdentifier:NSCalendarIdentifierPersian];

if you set useVeryShortWeekdaySymbols property to YES, use days of week name very short

self.calendarView.useVeryShortWeekdaySymbols = YES;

How to select range of date

English range selection Persian range selection If user Long press on items, can select date and for select end of range, Long press on end date. For get range date use didSelectRangeForStartDate:endDate delegate method like this :

- (void) didSelectRangeForStartDate:(NSDate *)startDate andEndDate:(NSDate *)endDate{ 
    NSLog(@"%s: start date :%@ \n end date : %@",__PRETTY_FUNCTION__,startDate,endDate); 
} 

How to handle changing date event

For this you should use CalendarViewDelegate protocol:

@interface ViewController : UIViewController <CalendarViewDelegate>

@end

And setup delegate:

self.calendarView.calendarDelegate = self;

After that you should implement required method didChangeCalendarDate:

- (void)didChangeCalendarDate:(NSDate *)date
{
    NSLog(@"didChangeCalendarDate:%@", date);
}

For more details there're optional methods for other things:

@optional
- (void)didChangeCalendarDate:(NSDate *)date withType:(NSInteger)type withEvent:(NSInteger)event;
- (void)didDoubleTapCalendar:(NSDate *)date withType:(NSInteger)type;

How to customize colors

For customization of colors you can use the following properties:

// Main color of numbers
@property (nonatomic, strong) UIColor *fontColor;
// Color of the headers (Year and month)
@property (nonatomic, strong) UIColor *fontHeaderColor;
// Color of selected numbers
@property (nonatomic, strong) UIColor *fontSelectedColor;
// Color of selection
@property (nonatomic, strong) UIColor *selectionColor;
// Color of today
@property (nonatomic, strong) UIColor *todayColor;

For example:

self.calendarView.selectionColor = [UIColor colorWithRed:0.203 green:0.666 blue:0.862 alpha:1.000];
self.calendarView.fontHeaderColor = [UIColor colorWithRed:0.203 green:0.666 blue:0.862 alpha:1.000];

And you can see the result:
alt tag
It's free for using, feel free. And I hope it will be helpful.

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].