In meiner Registerkarte basierte Anwendung habe ich einen View Controller mit einer UITableView
, die ich in Storyboard erstellt. Wenn Sie auf eines der Bilder in der Tabelle wischen, möchte ich, dass der aktuelle View Controller (SecondViewController
) eine XIB-Datei (SpeciesViewController.xib
) lädt, um die App in eine neue Ansicht zu übernehmen. Bisher wird didSelectRowAtIndexPath
beim Swipen aufgerufen, aber die XIB-Datei wird nie geladen.View Controller Pushed von anderen View-Controller lädt nie
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
SpeciesViewController* speciesController = [[[SpeciesViewController alloc]initWithNibName:@"SpeciesViewController" bundle:nil] autorelease];
// SpeciesViewController* speciesController = [[SpeciesViewController alloc] init];
Species *theSpecies = [fetchedResultsController objectAtIndexPath:indexPath];
speciesController.theSpecies = theSpecies;
switch (sortBySegmentedControl.selectedSegmentIndex) {
case kSortByCommonNameFirst:
speciesController.title = [theSpecies commonNameFirstLast];
break;
case kSortByCommonNameLast:
speciesController.title = [theSpecies commonNameLastFirst];
break;
case kSortByScientificName:
speciesController.title = [[NSString alloc] initWithFormat:@"%@%@",
[theSpecies.scientificName substringToIndex:1],
[[theSpecies.scientificName substringFromIndex:1] lowercaseString]];
break;
default:
break;
}
speciesController.hidesBottomBarWhenPushed = YES;
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
//// Store current index path for viewDidAppear animation. ////
self->currentSelectedIndexPath = indexPath;
[self.navigationController pushViewController:speciesController animated:YES];
}
Die SpeciesViewController
Spitze hat SpeciesViewController
als seine eigene Klasse im Inspektor Attribute. Aus diesem Grund würde ich erwarten, dass ViewDidLoad oder eine andere Methode von SpeciesViewController.m
aufgerufen wird, wenn ich pushViewController:speciesController
bin.
Viele Beiträge über Probleme beim Laden einer Feder haben mit Fehlern von initWithNibName
vs zu tun. Ich glaube jedoch, dass ich initWithNibName
richtig verwende, weil ich das von einem View-Controller aus mache.
Ich freue mich über jede Hilfe! Ich danke dir sehr!
Gibt es eine Möglichkeit für mich, um die Spitze zu laden von 'SecondViewController', der nicht wirklich ein Navigations Controller benötigen? – Matt
@Matt ja Sie können Ansicht Controller vorstellen, überprüfen Sie meine aktualisierte Antwort, wenn Gesicht Problem, fragen – 3stud1ant3
der presentViewController arbeitete - danke !! – Matt