5

Wie ich im Titel erwähnt, möchte ich Navigation Controller zu meiner Anwendung, die bereits eine Tab Controller hat. Also versuchen, das Personal so etwas wie auf diesem page zu tun. Wie auch immer, etwas stimmt nicht. UINavigationController sucht eine leere Seite, auch wenn eine Ansicht und einige Bibliotheken.Kombinieren von Navigation Controller mit Tab Bar Controller

Lassen Sie mich aus dem Stracht beginnen:

In meinem AppDelegate, ich bin diese Tab-Leiste Controller wie Einstellung:

@interface MYAppDelegate : UIResponder <UIApplicationDelegate> 

@property (strong, nonatomic) UIWindow *window; 
@property (strong, nonatomic) UITabBarController *tabBarController; 

@end 

Und hier ist .m-Datei:

@implementation MYAppDelegate 

@synthesize window = _window; 
@synthesize tabBarController = _tabBarController; 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    application.applicationSupportsShakeToEdit = YES; 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

    UINavigationController *viewController1 = [[[MYMainViewController alloc] init] initWithNibName: @"MYMainViewController" bundle:nil]; 
    UIViewController *viewController2 = [[[MYPageViewController alloc] init] initWithNibName:@"MYPageViewController" bundle:nil]; 
    UIViewController *viewController3 = [[[MYSearchViewController alloc] init] initWithNibName:@"MYSearchViewController" bundle:nil]; 
    UIViewController *viewController4 = [[[MYPersonViewController alloc] init] initWithNibName:@"MYPersonViewController" bundle:nil]; 

    // Initialize tabBarController and add ViewControllers 
    self.tabBarController = [[UITabBarController alloc] init]; 
    self.tabBarController.viewControllers = [NSArray arrayWithObjects: viewController1, viewController2, 
     viewController3, viewController4, nil]; 

    self.window.rootViewController = self.tabBarController; 
    [self.window makeKeyAndVisible]; 

    return YES; 
} 

Dann ist hier MYMainViewController Implementierung, die eine UINavigationController ist:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSLog(@"%@", [self navigationController]); // Logging null 
} 

Meine .xib-Datei hat eine UINavigationController und und es gibt eine Ansicht darin. Obwohl es, als ich die App arbeitete, gibt es leere Seite und unbenannte Navigationsleiste. Was mache ich falsch?

Wenn ich den Inhalt meiner Ansicht sehen könnte, möchte ich mit der Zurück-Taste zwischen zwei View-Controllern navigieren.

Jede Hilfe oder Vorgehensweise wäre toll für mich.

Antwort

4

Try Navigation-Controller von xib zu entfernen, so dass es nur View-Controller haben, dann programmatisch Navigationscontroller initialisieren:

UIViewController *tmpViewController1 = [[[YourViewController alloc] init] initWithNibName:@"YourViewController" bundle:nil]; 
UINavigationController *viewController1 = [[UINavigationController alloc] initWithRootViewController:tmpViewController1]; 
+0

Dank aber immer noch nichts geändert. –

+0

Akzeptiert nach 20 Tagen später, war der Fehler mein. Ein Schreibfehler. Trotzdem danke. –

Verwandte Themen