• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Problem mit dem iPhone SDK

Registriert
03.01.09
Beiträge
56
Moin Moin Community,
erst mal allen noch ein gutes neues Jahr;)(wenn auch ein bissel spät)

Also ich hab da mal ne Frage:

So ich arbeite jetzt schon eine Weile, allerdings sehr unregelmäßig:),mit dem iPhone SDK, doch irgendwie komm ich da zu gar keinem richtigen Ergebnis.
Ich hab mir dann ein Buch organisiert und ein Beispiel daraus etwas verändert, allerdings geht da gar nichts mehr.

Also ich wollte eine App mit mehreren Windows erstellen:

-ich habe eine Window-Based Application benutzt
-dann mehrere UIViewControllerSubclass hinzugefügt(für die verschiedenen Windows)
-und dann noch mehrere View XIB um mit dem Interface Builder die einzelnen Windows zu erstellen

dann hab ich mit dem Folgenden Befehl dafür gesorgt, dass sich als erstes das Fenster mit dem Namen YellowView öffnet:

-(void)viewDidLoad
{
YellowViewController *yellowController = [[YellowViewController alloc]
initWithNibName:mad:"YellowView" bundle:nil];
self.yellowViewController = yellowController;
[self.view insertSubview:yellowController.view atIndex:0];
[yellowController release];
[super viewDidLoad];
}

Soweit so gut, geht noch alles.

Dann habe ich aber auf das Startfenster einen Round Rect Buttoneingefügt und ihm mit dem Folgenden Befehl gesagt, dass ein anderes Fenster sich öffnen soll, sobald der knopf gedrück wurde:

- (IBAction)eingabeButtonPressed
{

BlueViewController *blueController = [[BlueViewController alloc]
initWithNibName:mad:"BlueView" bundle:nil];
self.blueViewController = blueController;
[blueController release];
[yellowViewController.view removeFromSuperview];
[self.view insertSubview:blueViewController.view atIndex:0];

}

Drücke ich nun aber den Button, so lädt zwar das neue Fenster, aber die Round Rect Button vom alten Fenster bleiben da und verschwinden nicht???

Im neuen Fenster ist auch ein Round Rect Button, und wenn ich den drücke, soll das ursprüngliche Fenster wieder geladen werden, aber wenn ich diesen button drücke, stürtzt dass Programm ab???
Was ist da los?

Noch was, auf dem ersten Fenster ist noch ein Zweiter Round Rect Button, den ich mit genau dem Gelichen Befehl belegt habe, nur, dass er ein anderes Fenster laden soll, wenn ich aber dass mache, stürtzt das Programm auch ab...?

Könnt ihr mir da helfen, denn xCode zeigt keine Fehler an, nur zwei Warnungen, und zwar in zwei der drei Fenster den gleichen, nämlich:

"incomplete implementation of "SwitchViewController"
Method defenition for"-switchViews:" not found"


Was mache ich falsch?

-->Sorry, wenns en bissel lang geworden ist:-D




So noch zum Schluss den Vollständigen Inhalt des .m files von dem Fenster, der zu beginn lädt(ohne die Kommentare von Apple):



//
// YellowViewController.m
// ViewSwitcher
//
// Created by ****** ***** on 27.12.09.
// Copyright 2009 ****. All rights reserved.
//

#import "YellowViewController.h"
#import "BlueViewController.h"
#import "SpielEinsViewController.h"


@implementation YellowViewController
@synthesize blueViewController;
@synthesize yellowViewController;
@synthesize spielEinsViewController;

- (IBAction)eingabeButtonPressed
{

BlueViewController *blueController = [[BlueViewController alloc]
initWithNibName:mad:"BlueView" bundle:nil];
self.blueViewController = blueController;
[blueController release];
[yellowViewController.view removeFromSuperview];
[self.view insertSubview:blueViewController.view atIndex:0];

}

- (IBAction)spielButtonPressd;
{

SpielEinsViewController *spielEinsController = [[SpielEinsViewController alloc]
initWithNibName:mad:"SpielEinsView" bundle:nil];
self.spielEinsViewController = spielEinsController;
[spielEinsController release];
[yellowViewController.view removeFromSuperview];
[self.view insertSubview:spielEinsViewController.view atIndex:0];

}



- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];

// Release any cached data, images, etc that aren't in use.

}

- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}


- (void)dealloc {
[yellowViewController release];
[blueViewController release];
[spielEinsViewController release];
[super dealloc];
}


@end
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
1) Ein iPhone App hat immer nur genau ein Fenster. Es gibt keine iPhone App mit mehreren Fenstern

2) Es wäre vielleicht hilfreich, wenn Du das Projekt (ohne Build Ordner!) hochlädst.

Alex
 
Registriert
03.01.09
Beiträge
56
des mit den Fenstern hab ich auch nicht ganz so gemeint wie es klingt, ich meinte mehrere Views;-

Also hab die Datei mal hochgeladen, hoffe ihr könnt mir helfen:)

Grüße Jailbreaker
 

Anhänge

  • ViewSwitcher Kopie.zip
    31 KB · Aufrufe: 73