【问题标题】:Reuse static table view (iOS)重用静态表格视图 (iOS)
【发布时间】:2013-07-13 06:01:24
【问题描述】:

在我的应用程序中,我使用UITableViewController 输入数据。现在我想在另一个视图控制器中使用同一张表来修改数据。

我的想法:实现一个额外的视图控制器,让这两个继承自它。所有控件都是相同的,大多数行为也是如此。但是,在这两个中我都需要一些额外的属性,在一个委托中,必须覆盖 1-2 个方法。到目前为止,如此直觉。

我的问题:我不能在 .xib 文件中有静态表(包含部分和行)。所以我不能真正重复使用我的桌子。

我的问题:如何在情节提要中使用这种继承的控制器?我需要一个用于普通超类。但是,我不能直接使用它,它没有我需要的所有属性和方法。而且我真的不想尝试在一节课上做所有事情。那我该怎么办?

【问题讨论】:

    标签: ios objective-c storyboard uitableview


    【解决方案1】:

    您是否已经查看过免费的 Sensible TableView 框架?似乎可以提供您开箱即用的东西。

    【讨论】:

    • 嗨,我认为这个框架应该能够解决我的问题。但是,我已经将所有内容以及我需要的区别的属性放在同一个类中。好吧,现在还不错,希望我不需要其他功能。如果是这样,我会考虑使用 Sensible TableView 框架。谢谢!
    【解决方案2】:

    您可以在情节提要中制作表格视图控制器,然后使用

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; 
    ExampleView *eg = [storyboard instantiateViewControllerWithIdentifier:@"ExampleView"];
    

    并将其保留为单例,并在需要时继续使用它。那么你将能够多次使用它而不会被破坏

    【讨论】:

    • 不幸的是,这并不能解决我的问题。我需要使用同一个表的两个不同的表视图控制器。我知道我可以使用一个并使其变得非常复杂,但我想避免这种情况。而且我想避免将表拆分为 10 个文件并重复使用它们的替代方法。
    【解决方案3】:

    在故事板中,您始终可以使用-[UIStoryboard instantiateViewControllerWithIdentifier:] 加载视图。它返回一个新的视图控制器实例,所以它就像加载一个 NIB 一样工作。


    id vc = [self.storyboard instantiateViewControllerWithIdentifier:@"Static Table"];
    [self.navigationController pushViewController:vc animated:YES];
    

    【讨论】:

    • 不幸的是,这并不能解决我的问题。我需要使用同一个表的两个不同的表视图控制器。我知道我可以使用一个并使其变得非常复杂,但我想避免这种情况。而且我想避免将表拆分为 10 个文件并重复使用它们的替代方法。
    猜你喜欢
    • 2019-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    相关资源
    最近更新 更多