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 überUINavigationController
undpresentModalViewController: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 zuFirstViewController
(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];
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist der code,
Es gibt mehrere Fragen mit dem gleichen Thema haben, sollten Sie die Suche vor dem posten dieser Frage.
Dies ist Sehr Einfach, Sie müssen nur zu erstellen, die ein Objekt der NextViewController, auf dem Sie gehen wollen, und rufen Sie presentModalViewController auf, die.. so.:-
in FirstVC.h:-
inFirstViewController.m:-
Und ja, Was KingofBliss Sagte, ist sehr wahr. Bitte machen Sie es in der Mitteilung.
Guten Tag.
ich Tat dies, aber app stürzt auf der Linie
habe ich ein login-Bildschirm
und auf die FirstListView ich habe zwei Tabellen-Ansichten.
keine Ahnung, warum die app abstürzt.