2012-01-02 33 views
0

我有一個包含四個UIViewController的UITabBarController,當我想調用viewDidAppear時它不起作用。我不明白爲什麼只發生在iOS 4.3上?當我在iOS 4.3中調用它時,ViewDidAppear不起作用?

// 
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"); 
     } 

回答

0

嘗試使用UINavigationController方法initWithRootViewController:代替。例如,

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

請注意,只是因爲視圖被壓入堆棧,並不表示它是可見的。在您選擇該視圖的標籤之前,不應調用viewDidAppear:

+0

它不起作用? – 2012-01-02 16:17:35

+0

它僅適用於iOS 5.0? – 2012-01-02 16:28:55

相關問題