我有一个从数据库文件加载数据的 UITableView 。它有不同的部分。我设法以编程方式设计了一个自定义 UITableViewCell 。当我触摸一个单元格时,我会转到 UIViewController 。 segue 是从 Interface Builder 添加的。现在,我需要根据 UITableView 的节号在新的 UIViewController 中加载不同的内容(即 UILabel 、UIButton ) 。为了更形象化,我在下面添加了图片。
如何做到这一点?我应该为每个操作使用自定义 UIViewController 子类吗?或者有更简单的方法吗?
第一个 View
第二个 View
第三个 View
Best Answer-推荐答案 strong>
在代码中,可以使用prepareForSegue 方法,检查标识符,并传递下一个UIViewController 相关数据。
如果每种单元格的界面不同,那么您应该为每种界面使用不同的UIViewController 。所有这一切都可以通过 Storyboard 完成,方法是从每个原型(prototype)单元“按住 ctrl 拖动”到不同的 Controller 。
如果您不想为不同的数据使用不同的原型(prototype)单元格。 (这将使 Storyboard很容易做到这一点),然后通过 UITableView 委托(delegate) 的 didSelectRowAtIndexPath 方法中的代码调用 segue,而不是通过 Storyboard进行转场。像这样:
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")
}
}
关于ios - 从 UITableView 中分离后,如何根据不同的数据加载不同的 UIView?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/38747588/
|