0

月の日付分布に応じて、Tapku カレンダー グリッドのサイズが 5x5 から 6x6 の間で変更されることに気付きました。たとえば、2012 年 3 月は 5x5 グリッドで表示され、2012 年 9 月は 6x6 グリッドで表示されます。私にとっては、GUI の配置がうまくいかないので、グリッドを常に 6x6 にしたいと考えています。TKCalenderMonthView の rangeOfDatesInMonthGrid メソッドを調べましたが、グリッドの作成方法がわかりません! 常にグリッド 6x6 を修正する方法を教えてください。

ありがとう。

4

2 に答える 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{

カレンダーの高さを確認して、必要なことは何でもします。これは、カレンダーのインスタンス化の直後にフレームの高さを確認すると、6*7 ではなく通常の 5*7 の高さが返されるためです。

それが役立つことを願っています!

于 2013-06-15T20:58:28.403 に答える