【问题标题】:Create new UITableViewController for new UITableView?为新的 UITableView 创建新的 UITableViewController?
【发布时间】:2012-07-11 14:00:29
【问题描述】:

我的问题如下:

我正在制作一个主要基于表格视图控制器的 iPhone 应用程序。我需要能够在运行时为表视图创建数据。我还需要在运行时创建更深层次。 IE。我需要能够单击该行,它应该将我带到一个空的新表视图。此外,理想情况下,我需要能够不断制作数据并无限深入。创建的数据存储在核心数据中。我已经找到了一种方法来链接每个表格视图中显示的数据。

我的问题是: 是否可以在新的 uitableviewcontroller 中创建每个新的表视图?我就是这样做的。

例如。 如果我单击 tableviewcontroller 行上的“Varun”。它将在运行时创建一个新的 tableviewcontroller 并向我显示一个空的 table view。如果我在那里添加数据并返回 varun 然后再次单击它,数据应该在那里。

那么我应该为每个新的 tableview 动态创建 tableviewcontrollers 吗?

谢谢!

如果我不清楚,我非常抱歉。这是一个很难解释的概念!

再次感谢!

【问题讨论】:

    标签: iphone objective-c ios xcode uitableview


    【解决方案1】:

    你应该在-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath方法中实现代码。

    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
        YourTableViewController *yourTableView = [[YourTableViewController alloc] initWithStyle:UITableViewStylePlain];
       [self.navigationController pushViewController:yourTableView animated:YES];
    
    }
    

    我认为这对你会有帮助。

    【讨论】:

    • 嗨!是的,这正是我正在做的 :) 我想确保为每个 UITableView 制作一个 UITableViewController 是可以的。谢谢!
    【解决方案2】:

    你好。通常每个视图都有它自己的 UIViewController-subclass 实例,所以那里绝对没有问题。您甚至可以为各个视图设置不同的 类。示例:DepartmentListViewController 显示所有部门并推送到可能显示员工列表的StaffViewController

    这个Apple Document 让您对UIViewControllers 有一个很好的了解

    我强烈建议您使用对以数据为中心的应用程序(而不是游戏等)特别有用的故事板。

    情节提要引擎会为您实例化您的 ViewController,您可以在它们显示之前为其设置属性。我发了一篇文章总结了故事板的优点:

    https://stackoverflow.com/a/8574345/784318

    查看本教程,该教程似乎对故事板进行了很好的概述。从 iOS 5.0 开始,您还可以在 UITableView 中创建静态单元格和原型单元格,我认为这是对 SDK 非常有用的补充。

    要更深入地了解 Storyboard 和 Tableview,您应该明确地查看有关 Storyboard 和 UITableview 的 WWDC 2012 (2011) 会议。

    http://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/Art/after_modal_segue.jpg

    【讨论】:

    • 嗨!感谢您提供这么多信息!另一个问题。这可以在运行时完成吗?我可以使用故事板制作无限控制器吗?谢谢!
    • 是的,因为您可以从 ViewController 向自身添加 segue。这可能有点棘手,因为您可能必须处理嵌套的深度,但这绝对是可能的。
    猜你喜欢
    • 1970-01-01
    • 2012-05-04
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    相关资源
    最近更新 更多