【问题标题】:How can I connect one IBOutlet to an tableview controller in an container view controller如何将一个 IBOutlet 连接到容器视图控制器中的 tableview 控制器
【发布时间】:2013-01-20 13:41:08
【问题描述】:

我用 Storyboard 设计了我的应用程序,我有一个视图控制器,我需要插入一个静态表视图控制器(静态表视图控制器不能插入视图控制器)。所以我拖放了一个容器视图控制器并嵌入了一个表格视图控制器。

现在我在 viewcontroller.h 中声明了一个 IBOutlet,为

@property (nonatomic,strong) IBOutlet UITableView *infoTableView;

如何将 infoTableView 连接到连接检查器中的实际表视图?

【问题讨论】:

    标签: ios iphone objective-c uitableview uistoryboard


    【解决方案1】:

    如果您的意思是将 ItemEditorViewController 中的 IBOutlet 连接到表视图控制器中的表视图,则不能。无法将一个控制器中的插座连接到另一个控制器中的对象。如果您需要在父控制器中获取对该表视图的引用,则需要编写代码:

    在 ItemEditorViewController.h 中

    @property (nonatomic,strong) UITableView *infoTableView;
    

    在 ItemEditorViewController.m 中(可能在 viewDidLoad 中)

    self.infoTableView = [self.childViewControllers[0] tableView];
    

    【讨论】:

      【解决方案2】:

      这不是您要寻找的答案,但尽量不要做这种古怪的事情。出于某种目的,不允许在 UIViewController 中使用静态 tableView。苹果有他的理由禁止它,所以你最好不要寻找变通办法,否则你会得到一个带有意外行为的错误应用程序。你真的想要吗?

      对于这种情况,我的建议是:

      在您的 VC 类中包含一个简单的 UITableView,并在 tableView:cellForRowAtIndexPath: 中以编程方式对其进行自定义。 通过这种方式,您可以获得完全控制的稳定局面。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-22
        • 1970-01-01
        • 2020-08-08
        • 1970-01-01
        • 2015-10-23
        • 1970-01-01
        • 1970-01-01
        • 2016-12-20
        相关资源
        最近更新 更多