我是UITableView
,它从数据库文件加载数据。它有不同的部分。我已设法以编程方式设计自定义UITableViewCell
。当我触摸一个单元格时,我会转到UIViewController
。 segue是从Interface Builder添加的。现在,我需要根据UILabel
的部分编号在新UIButton
中加载不同的内容(即UIViewController
,UITableView
)。为了更加可视化,我在下面添加图片。
如何做到这一点?我应该为每个操作使用自定义UIViewController
子类吗?或者有更简单的方法吗?
答案 0 :(得分:2)
在代码中,您可以使用prepareForSegue
方法,检查标识符,然后传递下一个UIViewController
相关数据。
如果每种类型的单元格的界面不同,那么您应该为每种界面使用不同的UIViewController
。所有这些都可以通过故事板完成,通过从每个原型单元“ctrl-dragging”到另一个控制器来完成。
如果您不想为不同的数据使用不同的原型单元格。 (这将使故事板非常容易),然后通过故事板中的代码,通过didSelectRowAtIndexPath
UITableView delegate
方法中的代码调用segue。像这样:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
switch indexPath.section {
case 0:
performSegueWithIdentifier("some_segue_id", sender: self)
case 1:
performSegueWithIdentifier("another_segue_id", sender: self)
default:
print("not a known section")
}
}