ViewDidAppear не работает, когда я звоню в iOS 4.3?
У меня есть UITabBarController, который включает в себя четыре UIViewController и когда я хочу вызвать viewDidAppear, он не работает. Я не знаю, почему это происходит только для iOS 4.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");
}
1 ответ
Попробуйте использовать UINavigationController
метод initWithRootViewController:
вместо. Например,
FavorisViewController *favorisViewController = [[FavorisViewController alloc] init];
favorisViewController.context = context;
UINavigationController *nav4 = [[UINavigationController alloc] initWithRootViewController:favorisViewController];
[favorisViewController release];
Также обратите внимание, что только то, что представление помещается в стек, не означает, что оно является видимым. Пока вы не выберете вкладку с этим видом, viewDidAppear:
не должен называться.