私のアプリケーションでは、いくつかのtextFieldを含むnibファイル(ビューA)があります。 dateFieldFieldの前にカレンダービューにかかるボタンを押します。私はfine.Itビューをカレンダーに私を取り、誰かが日付をタップすると、それは自動的に次に際に、以前のビューすなわちビューAに移動するようにカレンダービューで、私はコードを書いているあるコードiPhoneアプリケーションクラスビューの問題
-(IBAction)cal:(id)sender
{
CalendarTestViewController *calander1=[[CalendarTestViewController alloc]initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:calander1 animated:NO ];
[calander1 release];
}
を使用しました誰かがあなたの確認画面(別のクラス)を取るAのボタンを押します。これはtextFields内のすべてのデータをフラッシュします。
私は
[self.navigationController pushViewController:calander1 animated:NO ];
を使用してというし、思っていたが、この動作を達成するために他の方法があります。確認のためにデータを保存したい
これは私のカレンダーの表示タップタイル方式です。
- (void)calendarView:(KLCalendarView *)calendarView tappedTile:(KLTile *)aTile
{
// NSLog(@"Date Selected is %@",[aTile date]);
if (cat==nil) {
cat=[[FormController alloc]initWithNibName:nil bundle:nil];
NSString *st=[[NSString alloc] initWithFormat:@"%@",[aTile date]];
cat.mas=st;
[self.navigationController pushViewController:cat animated:YES];
[cat release];
[self dismissModalViewControllerAnimated:YES];
}
}
カレンダーから任意の時間を押した後、私は、TextFieldに日付を記入したいn個前のビュー に戻る私は、ナビゲーションスタックにこのカレンダービューを入れたいいけません。
いくつか変更を加えた後は、次のようになりました。CalendarTestViewController.mファイルのタップタイルメソッドです。
- (void)calendarView:(KLCalendarView *)calendarView tappedTile:(KLTile *)aTile
{
// NSLog(@"Date Selected is %@",[aTile date]);
if (cat==nil) {
cat=[[FormController alloc]initWithNibName:nil bundle:nil];
NSString *st=[[NSString alloc] initWithFormat:@"%@",[aTile date]];
cat.mas=st;
//[self.navigationController pushViewController:cat animated:YES];
//[cat release];
[self dismissModalViewControllerAnimated:YES];
}
}
FormController.m
- (void)calendarDidSelectDate:(NSDate *)selectedDate
{
cali.text=mas;
// set the selectedDate wherever it needs to be...
}
-(IBAction)cal:(id)sender
{
CalendarTestViewController *calendar1=[[CalendarTestViewController alloc]initWithNibName:nil bundle:nil];
calendar1.delegate = self;
[self.navigationController presentModalViewController:calendar1 animated:YES];
}
示唆したように、私はexactily同じことを行っているのと同じ方法で定義されたプロトコルとデリゲートを意味します。エラーは表示されませんが、日付は選択されず、formControllerのlabel.textに入力されません。
私はあなたの提案に同意します。それは私のカレンダービューを表示します。しかし、私はカレンダービューで私の日付を選択するとき私は私の元のビューに戻って行きたい。だから私はその方法でどうすればいいのですか – Mann
私は同じことをお勧めしましたが、カレンダービューから任意の日付を選択することはできません。私は単に何も起こらない。私は日付を選択したときに自動的にtextFieldデータを埋めることを希望する – Mann
私が言ったように、あなたはカレンダービューで日付を選択すると、そのビューコントローラをモーダル(上記の私の答えのコードの最後の行を見てください)を却下する必要があります。テキストフィールドを塗りつぶすには...前のビューのテキストフィールドに選択した日付を入力する必要がありますか?あなたは何らかの種類のデリゲートメソッドや通知を実装しましたか、それともあまりにも助けが必要ですか? –