文章来源:淘论文网   发布者: 毕业设计   浏览量: 50



还可以点击去查询以下关键词:
[日期]    [选择]    [定制]    [日历]    [日期选择定制器、日历]   

项目介绍:

常见的日历

github地址

常见的日历

之前没做过日历的时候感觉很难,论文,做过一遍之后,发现其实并不是男,只是麻烦了些。因为我为了省事,有些东西只是简单的举一个例子什么的,比较懒。大家有什么需要延伸的功能都可以在里面找下对应的东西。话不多说,开题报告,看吧。

pragma mark -Private //返回当月天数

(NSUInteger)numberOfDaysInMonth:(NSDate )date{ NSCalendar greCalendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; [greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; return [greCalendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:date].length;
}

//返回当月第一天数据

(NSDate )firstDateOfMonth:(NSDate )date{ NSCalendar greCalendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; [greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; NSDateComponents comps = [greCalendar components:NSCalendarUnitYear | NSCalendarUnitMonth |NSCalendarUnitWeekday | NSCalendarUnitDay fromDate:date]; comps.day = 1; return [greCalendar dateFromComponents:comps]; }

(NSUInteger)startDayOfWeek:(NSDate )date { NSCalendar greCalendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; [greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];//Asia/Shanghai NSDateComponents *comps = [greCalendar components:NSCalendarUnitYear | NSCalendarUnitMonth |NSCalendarUnitWeekday | NSCalendarUnitDay fromDate:[self firstDateOfMonth:date]]; return comps.weekday; }

//上个月

(NSDate )getLastMonth:(NSDate )date{ NSCalendar greCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; [greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; NSDateComponents comps = [greCalendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date]; comps.month -= 1; return [greCalendar dateFromComponents:comps]; } //下个月
(NSDate )getNextMonth:(NSDate )date{ NSCalendar greCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; [greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; NSDateComponents comps = [greCalendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date]; comps.month += 1; return [greCalendar dateFromComponents:comps]; }
//目标日期

(NSDate )getCurrentMonth:(NSDate )date andYear:(NSInteger)year andMonth:(NSInteger)month andDay:(NSInteger)day{ NSCalendar greCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; [greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; NSDateComponents comps = [greCalendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date]; comps.year = year; comps.month = month; comps.day = day; return [greCalendar dateFromComponents:comps]; }
//当前月

(NSDate )getCurrentMonth:(NSDate )date{ NSCalendar greCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; [greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; NSDateComponents comps = [greCalendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date]; return [greCalendar dateFromComponents:comps]; }
//日期的当天

(NSDate )dateOfDay:(NSInteger)day{ NSCalendar greCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; [greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; NSDateComponents *comps = [greCalendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:self.chooseDate]; comps.day = day; return [greCalendar dateFromComponents:comps]; }
@end

@implementation CalendarHeaderView

(instancetype)initWithFrame:(CGRect)frame{ if (self = [super initWithFrame:frame]) {

NSArray *weekArray = [[NSArray alloc] initWithObjects:@"日",@"一",@"二",@"三",@"四",@"五",@"六", nil];

for (int i=0; i<weekArray.count; i++) {

UILabel *weekLabel = [[UILabel alloc] initWithFrame:CGRectMake(i*Iphone6Scale(54), 0, Iphone6Scale(54), HeaderViewHeight)]; weekLabel.textAlignment = NSTextAlignmentCenter; weekLabel.textColor = [UIColor grayColor]; weekLabel.font = [UIFont systemFontOfSize:13.f]; weekLabel.text = weekArray[i]; [self addSubview:weekLabel];

}

UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, HeaderViewHeight, self.frame.size.width, 1)];
lineView.backgroundColor = kRGBColor(0, 134, 237);

[self addSubview:lineView];
} return self; } @end

@implementation CalendarCell

(instancetype)initWithFrame:(CGRect)frame{ if (self = [super initWithFrame:frame]) { CGFloat width = self.contentView.frame.size.width0.6; CGFloat height = self.contentView.frame.size.height0.6;

// 选中BG
UIView* selectedBGView = [[UIView alloc] initWithFrame:CGRectMake( (self.contentView.width - self.contentView.height) / 2.0, 0, self.contentView.height, self.contentView.height)];
selectedBGView.tag = 9588;
selectedBGView.hidden = YES;
selectedBGView.layer.cornerRadius = selectedBGView.bounds.size.width / 2.0;
selectedBGView.backgroundColor = kRGBColor(24, 147, 239);

#p#分页标题#e#

UILabel dayLabel = [[UILabel alloc] initWithFrame:CGRectMake( self.contentView.frame.size.width0.5-width0.5, self.contentView.frame.size.height0.5-height*0.5, width, height )];
dayLabel.textAlignment = NSTextAlignmentCenter;

dayLabel.font = [UIFont boldSystemFontOfSize:13];
dayLabel.backgroundColor = [UIColor clearColor];

[self.contentView addSubview:selectedBGView];
[self.contentView addSubview:dayLabel];

self.dayLabel = dayLabel;
} return self; }

(void)setMonthModel:(MonthModel *)monthModel{ _monthModel = monthModel; self.dayLabel.text = [NSString stringWithFormat:@"%02ld",monthModel.dayValue];

if (monthModel.isSelectedDay) { self.dayLabel.text = @"今天"; }

if (monthModel.isCanClick) { self.dayLabel.textColor = [UIColor blackColor]; self.userInteractionEnabled = YES;

} else { self.dayLabel.textColor = [UIColor lightGrayColor]; self.userInteractionEnabled = NO; } }

@end

@implementation MonthModel
|10 [/pan]


这里还有:


还可以点击去查询:
[日期]    [选择]    [定制]    [日历]    [日期选择定制器、日历]   

请扫码加微信 微信号:sj52abcd


下载地址: http://www.taolw.com/down/4864.docx
  • 上一篇:使用CollectionVie毕业设计w实现的分段联动控件
  • 下一篇:高德地图导航,查询周边,语音播报,轨迹绘制等深入了解