2012-04-28 8 views
0

Tapkuカレンダーのコードを少し調べて、関連するすべての質問と回答を検索して読んでいますが、プログラムでもタップでも複数の日付を選択できます。隣り合わせの2つの日付のシンプルな青いタイルで、私は幸せになれます:-)以下の記事は同様の質問をしているようですが、答えはうまくいきません。月の変更がない限り、コードの場所はヒットしません。正確には私が探しているものではありません。素晴らしいことは、selectDateのより高いレベルの実装です:それは複数の日付を選択するでしょう。しかし、図書館で微調整するのに適した場所は、誰でもコードをよく知っている方であればいいところです。とても有難い。iOS:Tapkuカレンダー:複数の日付を選択する必要があります

iOS: Tapku calendar library - allow selecting multiple dates for current month

答えて

0

だから、コードをステップ実行のビットの後、私はハンマーを使用して、この基本的な方法があります。私はTKCalendarMonthView.m-> selectDay:dayメソッドのほとんどのコードを採用しました。私が作成したメソッドは、基本的に新しいTKCalendarMonthTilesオブジェクトを作成し、詳細を入力し、サブビューをメインのTKCalendarMonthTilesオブジェクト(自己)に追加します。サブビューにタグを付けるので、メソッドの冒頭に存在する場合は最初に削除することができます(UIに残したい場合は、サブビューを残したままにしておきます)。私は日付を追跡しないか、またはそれらを格納する何かこれは私のニーズを満たす。

アイデアは、使用したい正しいタイルイメージと実際の「日付」のテキストラベルが「14」のビューを作成し、それらのビューをサブビューとして自己に追加することです。借用されたコードは、日付タイルがグリッド内にある「どこで」のすべての計算を行い、ビューは正しい場所に描画されます。コード:1日だけでなく、TKCalendarMonthView.mの終わり - > - reactToTouch:

- (void)markDay:(int)day { 

// First, remove any old subviews 
[[self viewWithTag:42] removeFromSuperview]; 
[[self viewWithTag:43] removeFromSuperview]; 

int pre = firstOfPrev < 0 ? 0 : lastOfPrev - firstOfPrev + 1; 
int tot = day + pre; 
int row = tot/7; 
int column = (tot % 7)-1; 

TKCalendarMonthTiles *deliveryTile = [[TKCalendarMonthTiles alloc] init]; 
deliveryTile.selectedImageView.image = [UIImage imageWithContentsOfFile:TKBUNDLE(@"TapkuLibrary.bundle/Images/calendar/MyDateTile.png")]; 
deliveryTile.currentDay.text = [NSString stringWithFormat:@"%d",day]; 

if(column < 0){ 
    column = 6; 
    row--; 
} 

CGRect r = deliveryTile.selectedImageView.frame; 
r.origin.x = (column*46); 
r.origin.y = (row*44)-1; 
deliveryTile.selectedImageView.frame = r; 
deliveryTile.currentDay.frame = r; 
[[deliveryTile selectedImageView] setTag:42]; 
[[deliveryTile currentDay] setTag:43]; 
[self addSubview:deliveryTile.selectedImageView]; 
[self addSubview:deliveryTile.currentDay]; 
} // markDay: 

私はTKCalendarMonthView.m-> selectDayの終わりに、このメソッドを呼び出してダウン。これまでのところ限られたテストしかできませんでした。タイムゾーンの設定が明日(私は太平洋のタイムゾーンにある)考え続けている理由を理解できない。

乾杯、マイケル

関連する問題