プロジェクトで Tapku カレンダーを使用しています。私はすべての日付を準備して印をつけました。私が直面している唯一の問題は、ユーザーが事前定義された日付のいずれかを選択したときにポップアップを表示したいということです。「ifステートメント」でそれをどのように扱うのですか?
3 に答える
日ビューではなく月ビューを使用していると想定していTKCalendarMonthTableViewController
ます。ユーザーが月表示グリッドでタイルをタップするたびに、calendarMonthView:didSelectDate
メソッドが呼び出されます。そこにロジックを実装する必要があります。
- (void) calendarMonthView:(TKCalendarMonthView*)monthView didSelectDate:(NSDate*)date{
// if your predefined date = passed date, show your popup (UIAlertView?)
}
マークされた日付をどのように保存しているかを知らずに、質問に具体的な答えを出すことは困難です。Tapku Calendar は、マークを表示する必要がある日付のブール値 (NSNumbers の形式) を保持する「dataArray」にデフォルト設定されます。この配列は、カレンダーにマークを作成するために渡されます。if ステートメントに同じタイプのロジックを使用できます。
次に、次のようなものがあります。
-(void)calendarMonthView:(TKCalendarMonthView*)monthView didSelectDate:(NSDate*)date{
if([[dataArray objectAtIndex:date.dateinformation.day - 1]boolValue])
{
//Pop view code
}
}
dataArray は、現在表示されている月の各日のブール値を格納します。日は 1 から始まり 28 ~ 31 になるため、配列が 0 から始まるため、1 を引く必要があります。これを行う別の方法は、dataDictionary に didSelectDate のオブジェクトがあるかどうかを確認することです。
この特定のコードを試したことはありませんが、いくつかのアイデアが得られる可能性があります。
このために、マークされた日付を配列に保存し、次の方法で保存できます。
- (void)calendarMonthView:(TKCalendarMonthView *)monthView didSelectDate:(NSDate *)d {
NSLog(@"selected Date IS - %@",d);
}
日付 "d" を選択した日付と一致させることができ、日付が同じ場合は、アラートを表示したり、必要なアクションを実行したりできます。