2016-06-01 2 views
1

작은 창으로 특정 노드를 클릭 할 때마다 Scene 내부에 TableViewController를 표시하고 싶습니다. 그것을 구성하기 위해 TableViewController 클래스를 만들었습니다.SKScene에서 TableViewController 사용

 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) 

표 클래스 : 여기 SkScene 안에 내 코드입니다

가있는 tableview를 포함하기로있는 UIView가 나타납니다
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 
    } 
} 

문제가 있는지,하지만 테이블 자체가되지 않습니다. 어떤 도움을 주셔서 감사 드리며, 누군가 내가 원하는 것을 성취 할 수있는 더 나은 방법을 가지고 있더라도 감사하겠습니다. 당신은 경계 당신의 frameView의에 따라 navViews /의 tableview 프레임을 설정해야

답변

0

.

(0, 0, 200, 200)입니다. 현재 상황은 테이블이 프레임보기의 하위보기로 추가되면 100으로 오프셋됩니다. 따라서 프레임보기 범위 바깥 쪽에서 그려집니다.

어쩌면 이런 것 같습니다.

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) 

Table 코드가 없으면 어디에서이 코드를 사용해야할까요?

+0

답변 주셔서 감사합니다.하지만 그게 아니라고, 내 질문에 테이블 클래스로 업데이 트되었습니다. – Abdou023

관련 문제