iOS:使Tapku日历库的网格大小始终为6x6

时间:2012-03-15 12:24:38

标签: ios calendar tapku

我注意到Tapku日历网格在5x5到6x6之间调整大小,具体取决于月份的日期分布。例如,它在2012年3月显示5x5网格,并在2012年9月显示6x6网格!对我来说,它使GUI对齐出错,所以我希望网格总是6x6。我一直在研究TKCalenderMonthView的rangeOfDatesInMonthGrid方法,但没有得到它如何创建网格!任何人都可以告诉我如何永远修复网格6x6。

感谢。

2 个答案:

答案 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。

希望有所帮助!