0

我注意到 Tapku 日历网格根据月份的日期分布在 5x5 和 6x6 之间调整大小。例如,它显示 2012 年 3 月的 5x5 网格和 2012 年 9 月的 6x6 网格!对我来说,它会使 GUI 对齐出错,所以我希望网格始终为 6x6。我一直在研究 TKCalenderMonthView 的 rangeOfDatesInMonthGrid 方法,但没有了解它是如何创建网格的!谁能告诉我如何始终修复网格 6x6。

谢谢。

4

2 回答 2

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
于 2012-03-30T13:33:56.937 回答
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。

希望有帮助!

于 2013-06-15T20:58:28.403 回答