so rufen Sie eine Ansicht-controller zu einem anderen view-controller in Xcode 4.2

habe ich zwei view-controller firstviewconroller und secondviewcontroller. ich habe warnungsansicht in firstviewconroller jetzt will ich springen zweite secondviewcontroller. Klick alert-view-Taste. guide mich wie nennen secondviewcontroller mithilfe von code.ich bin neu auf dieses Zeug.
hier ist meine alert-code anzeigen.

-(IBAction)enter:(id) sender{
    UIAlertView *alertBox=[[UIAlertView alloc]initWithTitle:@"ThinkTax!" message:@"0.0" delegate:self cancelButtonTitle:@"Button 1" otherButtonTitles:nil];

    [alertBox addButtonWithTitle:@"Sve"];
    [alertBox addButtonWithTitle:@"Button 3"];
    if(FALSE)
    {
        [alertBox addButtonWithTitle:@"Button 4"];
    }

    [alertBox show];
    [alertBox release];
}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSString *title = [alertView buttonTitleAtIndex:buttonIndex];

    if([title isEqualToString:@"details"])
    {
 UIViewController *secondViewController = [[Hello_WorldViewController alloc] initWithNibName:@"<Hello_WorldViewController >" bundle:nil];
    [self Page3:secondViewController animated:YES];
    [secondViewController release];

            NSLog(@"Button details was selected.");
    }
    else if([title isEqualToString:@"mail"])
    {

        NSLog(@"Button mail was selected.");
    }
    else if([title isEqualToString:@"close"])
    {

        NSLog(@"Button close was selected.");
    }
}

nun zeigt seine Konsole eine Ausgabe wie diese.ich weiß nicht, wo ich falsch mache.

-[Page3 Page3:animated:]: unrecognized selector sent to instance 0x8d26ba0
Hello World[5961:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Page3 Page3:animated:]: unrecognized selector sent to instance 0x8d26ba0'
  • Verwenden Sie einen UINavigationController? Willst du es darauf geschoben, dass oder tun, Sie wollen, dass es erscheinen Modal? Sie müssen zu geben, ein bisschen mehr Kontext. Auch ich schlage vor, das Lesen über UINavigationController und presentModalViewController:animated: - Sie sind deine Freunde hier.
  • Sie sollten versuchen zu vermeiden, vergleichen Sie die Taste Titel, um herauszufinden, welche Schaltfläche gedrückt wurde. Dies wird kommen zu Ihnen zurück, sobald Sie die Lokalisierung Ihrer app, oder ändern Sie einfach den Namen einer Taste.
  • keine mattjgalloway ich bin mit der normalen Ansicht basiert uiviewcinroller.
  • Ok, also wie willst du den SecondViewController erscheinen dann? Was wollen Sie eigentlich tun?
  • möchte ich nennen, SecondViewController mit alert-view-Taste.wie nennen.wie android-intent Aufruf einer Aktivität zu einer anderen Aktivität(Beginn der Aktivität).wie, die.
  • Ja, aber die view-Hierarchie in iOS ist sehr unterschiedlich zu Android. Es gibt ein paar verschiedene Möglichkeiten, das zu tun, was Sie wollen. Und es gibt keine finish() wie im Android, so dass Sie haben, um herauszufinden, wie Sie gehen zurück zu FirstViewController (vorausgesetzt, Sie wollen, das ist).
  • Anstatt schreiben dies :- UIViewController *secondViewController = [[Hello_WorldViewController alloc] initWithNibName:@"<Hello_WorldViewController >" bundle:nil]; [self Page3:secondViewController animated:YES]; [secondViewController release]; versuchen Sie zu schreiben :- Hello_WorldViewController *secondViewController = [[Hello_WorldViewController alloc] initWithNibName:@"Hello_WorldViewController" bundle:nil]; [self presentModalViewController:secondViewController animated:YES]; [secondViewController release];

InformationsquelleAutor | 2011-12-09
Schreibe einen Kommentar