我注意到Tapku日历网格在5x5到6x6之间调整大小,具体取决于月份的日期分布。例如,它在2012年3月显示5x5网格,并在2012年9月显示6x6网格!对我来说,它使GUI对齐出错,所以我希望网格总是6x6。我一直在研究TKCalenderMonthView的rangeOfDatesInMonthGrid方法,但没有得到它如何创建网格!任何人都可以告诉我如何永远修复网格6x6。
感谢。
答案 0 :(得分:2)
第二点的解决方案。如果要在选定的标记上显示标记并从取消选择的日期删除标记,请使用以下代码。(它不会显示蓝色标记)
- (void)calendarMonthView:(TKCalendarMonthView *)monthView didSelectDate:(NSDate *)d {
NSLog(@"calendarMonthView didSelectDate");
NSDateFormatter *df=[[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd"];
[df setTimeZone:[NSTimeZone systemTimeZone]];
NSString *strqw=[df stringFromDate:d];
NSLog(@"%@",strqw);
NSString *stss=[strqw stringByAppendingString:@" 00:00:00 +0000"];
NSLog(@"%@",stss);
int k=0;
for (int i=0; i<[array1 count]; i++) {
if([[array1 objectAtIndex:i]isEqualToString:stss]){
[array1 removeObjectAtIndex:i];
k=1;
}
}
if(k==0)
[array1 addObject:stss];
[calendar reload];
}
并添加此行
NSArray *data=[[NSArray alloc] initWithArray:array1];
在下面的方法
- (NSArray*)calendarMonthView:(TKCalendarMonthView *)monthView marksFromDate:(NSDate *)startDate toDate:(NSDate *)lastDate
答案 1 :(得分:0)
这是我使用的一点点黑客:
在viewDidAppear中我有
[calendar selectDate:[NSDate dateWithTimeIntervalSinceNow:-31*24*60*60]];
[calendar selectDate:[NSDate dateWithTimeIntervalSinceNow:0]];
并在
- (void) calendarMonthView:(TKCalendarMonthView*)monthView monthDidChange:(NSDate*)month animated:(BOOL)animated{
我只是检查日历的高度,做我需要做的事情。这样做是因为如果在实例化日历后立即检查框架的高度,它将返回正常的5 * 7高度而不是6 * 7。
希望有所帮助!