0

データがpresentViewControllerから保存された後、自動的にdetailViewに移動することは可能ですか?

現在、Master (UITableView) -> Detail (UITextView) である NavigationController を使用しているため、ユーザーはデータを追加して sqLite に保存でき、フォームからデータを保存した後、フォームが閉じられ、MasterView が表示されます。

私が望むのは、データを保存した後、フォームが閉じられ、MasterView ではなく自動的に DetailView に移動することです。

MasterViewController.m

- (void)addNew{
  AddFormController *addFormController = [[AddFormController alloc]
                                        initWithNibName:@"AddFormView" bundle:nil];
  UINavigationController* navContainer = [[UINavigationController alloc] initWithRootViewController:addFormController];
  [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"Header-Blank.png"] forBarMetrics:UIBarMetricsDefault];
  [[UIApplication sharedApplication] setStatusBarHidden:YES];
  [self.navigationController presentViewController:navContainer animated:YES completion:nil];
  [addFormController release];
}

AddFormController.m

 - (IBAction) saveTemplate {
   .... // Saving data onto Sqlite
   [self dismissViewControllerAnimated:YES completion:nil];
 }

ありがとう。

4

2 に答える 2

1

あなたはあなたのインを提示することができDetailViewControllerます。MasterViewControllerviewDidAppear

ただし、これが毎回発生するのは望ましくないため (たとえば、DetailViewControllerアプリの起動時に表示)、 のようdataSavedにブール型のプロパティ フラグを設定MasterViewControllerし、フラグが の場合にのみ最初の段落を実行しYESます。YESまた、フラグをfromに設定できます[AddFormController saveTemplate]。どうやってするか?いくつかの方法がありますが、デリゲートを使用します。

DetailViewControllerfromを提示したら、フラグを設定解除することを忘れないでくださいviewDidAppear

于 2012-09-29T14:14:46.153 に答える
0
I think you should use this code.It is simpler than above.

Masterviewcontroller.m
- (void)addNew{
  AddFormController *addFormController = [[AddFormController alloc]
                                        initWithNibName:@"AddFormView" bundle:nil];
  UINavigationController* navContainer = [[UINavigationController alloc] initWithRootViewController:addFormController];
  [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"Header-Blank.png"] forBarMetrics:UIBarMetricsDefault];
  [[UIApplication sharedApplication] setStatusBarHidden:YES];
 [self.navigationController pushViewController:rvc animated:YES];
  [addFormController release];
}

AddFormController.m

 - (IBAction) saveTemplate {
   .... // Saving data onto Sqlite
   [self.navigationController popViewControllerAnimated:YES];
 }

I think it will work better.
于 2012-09-29T17:21:11.687 に答える