Ich hatte eine tabBarApplication, die ich als Vorlage habe, die eine UINavigation Vorlage auf jeder Registerkarte hat.Einrichten eines UINavigation Controllers auf einem UIViewController als rootView
Ich möchte dieses Beispiel (Art von) verwenden und es in einem einzigen UIViewController in einer anderen Anwendung konvertieren. Ich habe 2 Stück Code vorgestellt, der erste ist mein Template und letzteres ist was ich versuche zu machen. Könnte mir bitte jemand ein paar Tipps oder Hilfe geben, wie geht das richtig? Ich bekomme immer Fehler, aber sie ergeben für mich keinen Sinn, da die tabBarApp es nicht benötigt, dass ein ViewController deklariert wird.
Erste Kodex (Beispiel):
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self setupFetchedResultsController];
if (![[self.fetchedResultsController fetchedObjects] count] > 0) {
NSLog(@"!!!!! ~~> There's nothing in the database so defaults will be inserted");
[self importCoreDataDefaultRoles];
}
else {
NSLog(@"There's stuff in the database so skipping the import of default data");
}
// The Tab Bar
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
// The Two Navigation Controllers attached to the Tab Bar (At Tab Bar Indexes 0 and 1)
UINavigationController *personsTVCnav = [[tabBarController viewControllers] objectAtIndex:0];
UINavigationController *rolesTVCnav = [[tabBarController viewControllers] objectAtIndex:1];
return YES;
}
Second-Code (was ich versuche zu machen):
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self setupFetchedResultsController];
if (![[self.fetchedResultsController fetchedObjects] count] > 0) {
NSLog(@"!!!!! ~~> There's nothing in the database so defaults will be inserted");
[self importCoreDataDefaultRoles];
}
else {
UIViewController *mainViewController = (UIViewController *)self.window.rootViewController;
UINavigationController *readingsTVCnav = [[mainViewController viewController] objectAtIndex:0];
// Override point for customization after application launch.
return YES;
}
Die fetching Teile des Codes zu Core Data verbunden sind, die bereits festgelegt hoch und arbeiten. Der Grund für diese Änderung ist, dass ich einen einfachen Ansicht-Controller als Startbildschirm anstelle der TabBarConfiguration eingerichtet haben möchte.
Prost Jeff
EDIT: Ich habe ein Bild für Klarheit
Ich bin nicht klar, wie Ihre neue Navigation funktioniert. Ist Ihr anfänglicher View-Controller ein Navigationscontroller? – jonkroll
Ja, ich verwende Storyboard und habe einen ViewController in einen UINavigation Controller eingebettet. –
Was ist in Ihrem eingebetteten ViewController? Wie navigieren Sie zu den anderen Teilen Ihrer App? – jonkroll