Frage

Ich arbeite an einer App, die in Xcode 3.2.5 erstellt wurde. Meine App funktioniert wie in Xcode 3.2.5 erwartet, aber aufgrund einiger Speicherprobleme verwende ich jetzt Xcode 4.2.

Xcode 4.2 bietet ein Tool zum Konvertieren vorhandener Code in ARC [der für die automatische Referenzzählung steht.] Aktiviertes Code. Auswählen Bearbeiten -> Refactor ... -> In Objective -C ARC konvertieren… Arbeitete für mich.

In meinem Code verwende ich NavigationController, um zwischen Ansichten auf Uibutton zu wechseln. Uibutton programmatisch erstellt. Ich verwende den folgenden Code, um den Ansichtscontroller auf Button_Click zu drücken:

 -(void) button_click:(id)sender{

NSLog(@"button_clicked.....");
SecondView  *sv = [[SecondView alloc] initWithNibName:@"SecondView" bundle:[NSBundle mainBundle]];

    [self.navigationController pushViewController:sv animated:NO];
}

Auf der Button_Click -Konsole Meldung anzeigen Button_clicked….. Aber PushViewController drückt SecondView nicht.

PushViewController arbeitet in Xcode 3.2.5 In der Schaltfläche Xcode 4.2 funktioniert das Klick jedoch nicht, aber NavigationControllers PushViewController funktioniert nicht.

wie kann ich es reparieren?

Jede Hilfe wäre sehr geschätzt.

Danke im Voraus!

War es hilfreich?

Lösung

Haben Sie versucht, den RootViewController in einen Navigationscontroller auf MainWindow.xib zu bringen?

Ergänzung zu meiner Antwort:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    [self.window makeKeyAndVisible];

    // create the MyView controller instance:
    MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];

    // set the title that appears in the navigation bar:
    [controller.navigationItem setTitle:@"Main View"];

    // create the Navigation Controller instance:
    UINavigationController *newnav = [[UINavigationController alloc] initWithRootViewController:controller];

    // set the navController property:
    [self setNavController:newnav];

    // release both controllers:
    [newnav release];
    [controller release];

    // add the Navigation Controller's view to the window:
    [window addSubview:[navController view]];

    return YES;
}

oder

[self.window setRootViewController:navigationController];

[self.window makeKeyAndVisible];

Die Handhabung von Navigationskontrollern wird ausführlich erläutert hier

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top