2016-05-18 3 views
1

Ich habe ein paar Probleme mit der Weitergabe einiger Daten (statisch int) zwischen Ansichten, und ich bin ziemlich sicher, weil ich die Ansicht nicht richtig ändern, aber nicht sicher, was ich mache ich falsch. (und haben Storyboards nicht vor und ziemlich neu in diesem Zeug verwendet)Probleme mit dem Verstehen von uiviewcontrollers, die Daten übergeben und Ansichten ändern

So zum Beispiel aus dem Hauptmenü navigieren I TableViewController_LevelViewTable laden: UITableViewController

TableViewController_LevelViewTable zeigt alle Ebenen der Spiel, Wenn ich auf eine Zelle klicke, sollte es den statischen int-Wert innerhalb der Klasse (in Bezug auf die zu ladende Ebene und eine Zeichenfolge) später von HelloSKScene lesen und laden Sie dann die HalloSkscene in myViewCont rollerToSKScene

if (indexPath.row ==1) 
{ 
    UIStoryboard *storyboard=[UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    //Load view controller: myViewController <loads SKScene> 
    myViewControllerToSKScene *tvc=[storyboard instantiateViewControllerWithIdentifier:@"myViewControllerToSKScene"]; 
    [self.view addSubview:tvc.view]; 
    [self addChildViewController:tvc]; 

    [Data setLevel:1]; 
} 

CLicking on Cel 1

Dies wiederum lädt myViewControllerToSKScene: UIViewController

myViewControllerToSKScene 
- (void)viewDidLoad 
{ 
    // Create and configure the SKScene to load. 
    HelloSKScene *theScene = [HelloSKScene sceneWithSize:spriteView.bounds.size]; 
    theScene.scaleMode = SKSceneScaleModeAspectFill; 

    // Present the scene. 
    [spriteView presentScene:theScene]; 
} 

Die Ansichten werden geladen, aber die Daten tut zunächst nicht aber das zweite Mal laden. Das ist es gehe ich vom SKScene zurück zum Menü und dann wieder auf die skscene Irgendwie ist die statische int merke ich, zwischen den Ansichten nicht funktioniere

auch, dass die Tableview noch hinter der HelloSkScene Ansicht sitzen (Wie würde ich entfernen Sie die Tableview nur die SKScene Bildschirm zu halten, Alle Szenen die vorherige Szene entfernen sollten)

Mit dank N

enter image description here

Unterhalb der gesamten Storyboard I Einbettung von Tableviews am testen, Laden eine Tableview-Controller und eine SKScene in eine UIView Laden Basic storyboard layout of project

Antwort

1

Was Sie tun eine Subview an den Stromregler ist das Hinzufügen, können Sie -presentViewController:animated:completion:, so etwas verwenden:

UIStoryboard *storyboard=[UIStoryboard storyboardWithName:@"Main" bundle:nil]; 

myViewControllerToSKScene *tvc = [storyboard instantiateViewControllerWithIdentifier:@"myViewControllerToSKScene"]; 

//perhaps you want to add your level configuration here 
tvc.level = indexPath.row //or just tvc.level = 1; 

[self presentViewController:myViewControllerToSKScene animated:YES completition:nil]; 

Mehr Infos darüber in

Sie setzen das Data Objekt, nachdem Sie die Ansicht erstellen, deshalb wird das erste Mal nicht geladen, aber die zweite tut, wenn die vorherige Lösung für Sie nicht funktioniert, und Sie immer noch möchte eineverwendenObjekt, könnten Sie etwas wie das implementieren:

UIStoryboard *storyboard=[UIStoryboard storyboardWithName:@"Main" bundle:nil]; 

myViewControllerToSKScene *tvc = [storyboard instantiateViewControllerWithIdentifier:@"myViewControllerToSKScene"]; 

[Data setLevel:1]; 

[self presentViewController:myViewControllerToSKScene animated:YES completition:nil]; 
+0

Awesome vielen Dank! funktioniert perfekt! – StackBuddy

Verwandte Themen