2016-06-01 9 views
1

Ich möchte, dass ein TableViewController in der Szene angezeigt wird, wenn ich auf einen bestimmten Knoten als kleines Fenster klicke. Ich habe eine TableViewController-Klasse erstellt, um sie zu konfigurieren. Hier ist mein Code in SkScene:Verwenden von TableViewController in SKScene

 let table = Table() 
     let smallerRect = CGRectMake(100, 100, 200, 100) 
     let navRect = CGRectMake(0, 100, 200, 200) 
     let nav = UINavigationController(rootViewController: table) 
     nav.view.frame = navRect 
     let frameView = UIView(frame: smallerRect) 

     frameView.backgroundColor = UIColor.redColor() 
     table.view.frame = smallerRect 
     frameView.addSubview(nav.view) 
     self.view.addSubview(frameView) 

Tabellenklasse:

import UIKit 

class Table: UITableViewController { 

    var names = ["name1", "name2", "name3"] 

    override func viewDidLoad() { 
    super.viewDidLoad() 

} 
override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
     return 1 
    } 
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return names.count 
    } 


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) 

     cell.textLabel?.text = names[indexPath.row] 

     return cell 
    } 
} 

Das Problem ist, dass der UIView, die die Tableview enthalten sollten erscheint, aber die Tabelle selbst nicht. Ich würde jede Hilfe schätzen oder auch wenn jemand einen besseren Weg hat zu erreichen, was ich will.

Antwort

0

Sie sollten Ihre navViews/Tableview Rahmen basieren Einstellung auf den Grenzen Ihrer frameView.

Welches wäre (0, 0, 200, 200). Im Moment passiert Folgendes: Wenn Ihr Tisch als Unteransicht Ihrer Bildansicht hinzugefügt wird, wird er um 100 verschoben. Er wird also außerhalb der Rahmenansichtsgrenzen gezeichnet.

So etwas vielleicht.

let table = Table() 
    let smallerRect = CGRectMake(100, 100, 200, 100) 
    let navRect = CGRectMake(0, 0, 200, 200) 
    let nav = UINavigationController(rootViewController: table) 
    nav.view.frame = navRect 

    let frameView = UIView(frame: smallerRect) 
    frameView.backgroundColor = UIColor.redColor() 
    table.view.frame = frameView.bounds 

    frameView.addSubview(nav.view) 
    self.view.addSubview(frameView) 

Schwer zu wissen, wo sonst mit diesem ohne Ihre Table Code zu gehen.

+0

Danke für die Antwort, aber das ist es nicht, ich habe meine Frage mit der Tabelle Klasse aktualisiert. – Abdou023

Verwandte Themen