我使用TabBar视图显示不同的视图,第一个选项卡显示问题列表(请参见屏幕截图1)。点击问题后,将显示问题详细信息视图。对于问题详细信息视图,我希望在视图的上半部分显示问题详细信息,同时在下半部分的表格视图中显示答案列表(请参见屏幕截图2)。 屏幕截图1:
我为问题详情视图制作了以下视图控制器:
class QuestionDetailViewController: UITableViewController {
var question: Question!
@IBOutlet weak var questionTitle: UILabel!
@IBOutlet weak var questionBody: UILabel!
// var answers = [Answer]()
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.delegate = self
self.tableView.dataSource = self
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
questionTitle.text = question.title
questionBody.text = question.content
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 3 //answers.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("answerCell", forIndexPath: indexPath)
// let answer = answers[indexPath.row] as! Answer
cell.textLabel!.text = "answer content here"
return cell
}
}
但是当点击一个问题时,我从推送问题详情视图的tableView: didSelectRowAtIndexPath
方法中得到以下错误。
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] instantiated view controller with identifier "questionDetailsBoard" from storyboard "Main", but didn't get a UITableView.'
这让我想知道是否只能在视图的下半部分显示表视图。