Il problema è piuttosto semplice da capire con le immagini. Ho un UINavigationController che consente all'utente di passare da una vista all'altra.NavigationBar non visualizza il properling quando pushViewController
La prima vista contiene una barra di ricerca e di una vista tabella in questo modo:
La seconda è una vista di base in cui le informazioni relative alla cella sono visualizzazione
Quando clicco sulla barra di ricerca, la navigazione il controllore viene nascosto e la barra di ricerca è ora in cima.
Ora, se clicco su una cella, si va al secondo punti di vista, ma la barra di navigazione viene prima nascosto come di seguito:
E poi, appare automaticamente così:
ho provato un paio di cose come visualizzare la barra di navigazione prima di premere il controller della vista successivo, ma è piuttosto brutto .. qualcuno sa come avere lo spettacolo la barra di navigazione direttamente sulla seconda vista (come nell'applicazione di contatto)?
[UPDATE]: Codice
AppDelegate.m (sto parlando navigationcontroller2)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
FirstViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
SecondViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
viewController1.managedObjectContext = [self managedObjectContext];
viewController2.managedObjectContext = [self managedObjectContext];
viewController1.viewController2 = viewController2;
UINavigationController *navigationcontroller1 = [[UINavigationController alloc] initWithRootViewController:viewController1];
[navigationcontroller1.navigationBar setTintColor:[UIColor lightGrayColor]];
UINavigationController *navigationcontroller2 = [[UINavigationController alloc] initWithRootViewController:viewController2];
[navigationcontroller2.navigationBar setTintColor:[UIColor lightGrayColor]];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:navigationcontroller1, navigationcontroller2, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
FirstView.m
- (void) searchBarTextDidBeginEditing:(UISearchBar *)theSearchBar {
[self.navigationController setNavigationBarHidden:YES animated:YES];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (!noResultsToDisplay) {
PinDetailsViewController *pinDetailsViewController = [[PinDetailsViewController alloc] initWithNibName:@"PinDetailsViewController" bundle:nil];
NSManagedObject *managedObject = [fetchedResultsController objectAtIndexPath:indexPath];
Pin *pin = (Pin *) managedObject;
[self.navigationItem setTitle:@"Pins"];
[self.navigationController pushViewController:pinDetailsViewController animated:YES];
[pinDetailsViewController updateWithPin:pin];
}
}
Se avete bisogno qualsiasi altra cosa, basta chiedere ma penso che sia tutto lì.
Si prega di inviare un po 'di codice. Altrimenti è molto difficile vedere dove si trova il problema. – MishieMoo