だから、コードをステップ実行のビットの後、私はハンマーを使用して、この基本的な方法があります。私は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の終わりに、このメソッドを呼び出してダウン。これまでのところ限られたテストしかできませんでした。タイムゾーンの設定が明日(私は太平洋のタイムゾーンにある)考え続けている理由を理解できない。
乾杯、マイケル