IOS上的個人實現日曆控制項

2021-06-12 00:11:50 字數 2230 閱讀 9720

#import #define but_textfontcolor [uicolor colorwithred:1.0 green:1.0 blue:1.0 alpha:1.0]

#define but_textfontcolor_highlight [uicolor colorwithred:0 green:0 blue:0 alpha:1.0]

@inte***ce viewcontroller : uiviewcontroller

@property (nonatomic,assign)int selectedyear;

-(bool)isleapyear:(int)year;

-(int)callweek:(int)y:(int)m:(int)d;

-(void)reloadcalendar:(int)year;

@end

#import "viewcontroller.h"

#import "cellviewcontroller.h"

@implementation viewcontroller

@synthesize selectedyear;

- (void)didreceivememorywarning

#pragma mark - view lifecycle

- (void)viewdidload else if (l==2) else if (l==3) else if (l==4) else if (l==5) else if (l==6) else if (l==7)

[labweek settag:(2000+l)];

[view addsubview:labweek];

}//天button

for (int b = 1; b <= 42; b++)

[self.view addsubview:view];

}[self reloadcalendar:0];

}-(void)reloadcalendar:(int)year else

for (int v = 1; v <= 12; v++) else if (v == 2) else

} else

//當前月的第一天是週幾

int firstweek = [self callweek:self.selectedyear :v :1];

int day = 1;

for (int b = 1; b <= 42; b++) else if (b > ((firstweek - 1) + days)) else }}

}- (void)viewdidunload }}

}}- (bool)shouldautorotatetointe***ceorientation:(uiinte***ceorientation)inte***ceorientation

[headerview setframe:cgrectmake(0, 0, 1024, 36)];

} else

[headerview setframe:cgrectmake(0, 0, 768, 36)];

}return yes;

}#pragma mark - 判斷閏年

/* 基於一年有365.242199174 日,而並非剛剛好的365 日,故每四年有一次閏年,即二月多了第二十九日。

經過四年一閏後,已修正為365.25,但仍有誤差,故每一百年就會減乙個閏年,即1700,1800,2023年等均沒有閏年,再修正後為365.24。

最後每四百年加回乙個閏年,即2023年、2000 年、2023年等均有閏年,最後修正為365.2425。仍有0.0003 誤差,需要約2023年才會出現一天誤差,所以已經很準確了。

*/-(bool)isleapyear:(int)year else else

}}-(int)callweek:(int)y:(int)m:(int)d else if (m == 2)

int c = y / 100;

y = y - c * 100;

int week = y + y / 4 + c / 4 - 2 * c + 26 * (m + 1) / 10 + d - 1;

week %= 7;

week = week < 0 ? week + 7 : week;

if (week == 0)

return week;

}@end

iOS日曆控制項

專案需要,前一陣子重構了下ipad工程,新增了乙個滾動無縫日曆。當時沒有頭緒,網上找了乙個原始碼改吧改吧就上線了 參考鏈結 這個功能很多而且流暢性也特別好,推薦不會寫的可以參考下。這幾天,活不太忙就把日曆控制項裁剪了下,做個最簡單的滾動無縫日曆。效果如下圖 日曆可以左右滾動,點選某個日期後會變色,並...

在iOS上實現乙個簡單的日曆控制項

近期需要寫乙個互動有點dt的日曆控制項,具體互動細節這裡略過不表。不過再怎麼複雜的控制項,也是由基礎的零配件組裝起來的,這裡最基本的就是日曆控制項。先上圖 從圖中可以看出日曆控制項就是由乙個個小方塊組成的,每一行有7個小方塊,分別表示一周的星期天到星期六。給定乙個月份,我們首先需要知道這個月有多少周...

iOS控制項之日曆

這裡是我封裝的collectionview,繼承uicollectionview 首先是.h檔案 import inte ce thccalendar uicollectionview property nonatomic,assign nsinteger year property nonatom...