0

4つのUIViewControllerを含むUITabBarControllerがあり、viewDidAppearを呼び出したい場合は機能しません。これがiOS4.3だけで起こるのはなぜですか?

//
UINavigationController *nav3 = [[UINavigationController alloc] init];
SearchViewController *searchViewController = [[SearchViewController alloc] init];
searchViewController.context = context;

[nav3 pushViewController:searchViewController animated:NO];
[arrayViewController addObject:nav3];

[nav3 release]; [searchViewController release];

//
UINavigationController *nav4 = [[UINavigationController alloc] init];
FavorisViewController *favorisViewController = [[FavorisViewController alloc] init];
favorisViewController.context = context;

[nav4 pushViewController:favorisViewController animated:NO];
[arrayViewController addObject:nav4];

[nav4 release]; [favorisViewController release];

私のお気に入りのUIViewController:

     #pragma mark - View lifecycle

     - (void)viewDidLoad
      {
         [super viewDidLoad];

          NSError *error;
          NSFetchRequest *fetch = [[NSFetchRequest alloc] init];
          fetch.entity = [NSEntityDescription entityForName:@"Businesses" inManagedObjectContext:context];
          fetchObject = [context executeFetchRequest:fetch error:&error];

         [fetch release];

        }

      - (void)viewDidAppear:(BOOL)animated
       {
          NSLog(@"test");
       }
4

1 に答える 1

0

代わりにUINavigationControllerメソッドを使用してみてください。initWithRootViewController:例えば、

FavorisViewController *favorisViewController = [[FavorisViewController alloc] init];
favorisViewController.context = context;
UINavigationController *nav4 = [[UINavigationController alloc] initWithRootViewController:favorisViewController];
[favorisViewController release];

ビューがスタックにプッシュされたからといって、ビューが表示されるわけではないことに注意してください。そのビューでタブを選択するまで、viewDidAppear:呼び出してはいけません。

于 2012-01-02T15:54:21.583 に答える