Files
FSCalendar/Example/CalendarIdentifierViewController.m
T
dingwenchao 131bba5677 Fix crash while frequently changing scope
1. Fix crash while frequently changing scope
2. Fix wrong cell layout while changing orientation under autoLayout
3. Example support RTL
4. Spelling check
2016-02-25 11:35:02 +08:00

86 lines
2.7 KiB
Objective-C

//
// CalendarIdentifierViewController.m
// FSCalendar
//
// Created by dingwenchao on 11/16/15.
// Copyright © 2015 wenchaoios. All rights reserved.
//
#import "CalendarIdentifierViewController.h"
@implementation CalendarIdentifierViewController
- (instancetype)init
{
self = [super init];
if (self) {
self.title = @"FSCalendar";
self.identifiers = @[NSCalendarIdentifierGregorian,NSCalendarIdentifierIslamicCivil,NSCalendarIdentifierHebrew,NSCalendarIdentifierPersian,NSCalendarIdentifierIndian];
}
return self;
}
- (void)loadView
{
UIView *view = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
view.backgroundColor = [UIColor groupTableViewBackgroundColor];
self.view = view;
CGFloat height = [[UIDevice currentDevice].model hasPrefix:@"iPad"] ? 450 : 300;
FSCalendar *calendar = [[FSCalendar alloc] initWithFrame:CGRectMake(0, 64, CGRectGetWidth(self.view.frame), height)];
calendar.dataSource = self;
calendar.delegate = self;
calendar.appearance.caseOptions = FSCalendarCaseOptionsHeaderUsesUpperCase|FSCalendarCaseOptionsWeekdayUsesUpperCase;
calendar.backgroundColor = [UIColor whiteColor];
[self.view addSubview:calendar];
self.calendar = calendar;
UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(calendar.frame), CGRectGetWidth(self.view.frame), 216)];
pickerView.dataSource = self;
pickerView.delegate = self;
[self.view addSubview:pickerView];
self.pickerView = pickerView;
UIBarButtonItem *todayItem = [[UIBarButtonItem alloc] initWithTitle:@"TODAY" style:UIBarButtonItemStyleBordered target:self action:@selector(todayItemClicked:)];
self.navigationItem.rightBarButtonItem = todayItem;
}
- (void)todayItemClicked:(id)sender
{
[_calendar setCurrentPage:[NSDate date] animated:YES];
}
- (void)calendar:(FSCalendar *)calendar didSelectDate:(NSDate *)date
{
NSLog(@"%s %@", __FUNCTION__, [calendar stringFromDate:date format:@"yyyy/MM/dd"]);
}
- (void)calendarCurrentPageDidChange:(FSCalendar *)calendar
{
NSLog(@"%s %@", __FUNCTION__, [calendar stringFromDate:calendar.currentPage format:@"MMMM yyyy dd"]);
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return _identifiers.count;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return _identifiers[row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
NSString *identifier = _identifiers[row];
_calendar.identifier = identifier;
}
@end