OStack程序员社区-中国程序员成长平台

标题: ios - 从 UITableView 中分离后,如何根据不同的数据加载不同的 UIView? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 21:40
标题: ios - 从 UITableView 中分离后,如何根据不同的数据加载不同的 UIView?

我有一个从数据库文件加载数据的 UITableView。它有不同的部分。我设法以编程方式设计了一个自定义 UITableViewCell。当我触摸一个单元格时,我会转到 UIViewController。 segue 是从 Interface Builder 添加的。现在,我需要根据 UITableView 的节号在新的 UIViewController 中加载不同的内容(即 UILabelUIButton) 。为了更形象化,我在下面添加了图片。

如何做到这一点?我应该为每个操作使用自定义 UIViewController 子类吗?或者有更简单的方法吗?

第一个 View

view 1

第二个 View

view 2

第三个 View

view 3



Best Answer-推荐答案


在代码中,可以使用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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4