【问题标题】:Put Table View inside Container View in swift 3在swift 3中将表视图放入容器视图中
【发布时间】:2017-10-06 00:35:37
【问题描述】:

我有 2 个分段控制按钮。 “Apple”和“Orange”分段按钮。 我将表格视图放入其中,当用户点击“Apple”时,将出现 Apple 表格视图。

我在其中放置了另一个“容器”视图(名为:“橙色容器视图”),当用户点击“橙色”选项卡时,它会显示出来。
Container View 有子视图控制器。因此,我将名为 Orange TableView 的“表视图”放在子视图控制器中。

问题是 当我单击“Apple”选项卡时,Apple Table View 行会立即出现,但是当我单击 Orange 选项卡时,Orange Table View 不会立即显示。

当我点击“橙色”选项卡时,如何从子视图控制器重新加载表格以立即显示。

我尝试了“调度”方法。我不知道如何为子视图控制器编写表重新加载代码。

[更新:已解决的问题]

我在父视图控制器中添加以下代码。

NotificationCenter.default.addObserver(self, selector: #selector(loadList), name: NSNotification.Name(rawValue: "load"), object: nil)


func loadList(){
    //load data here
    self.OrangeContainerView.reloadInputViews()
}

我将以下代码放在子视图控制器中。

 NotificationCenter.default.post(name: NSNotification.Name(rawValue: "load"), object: nil)

【问题讨论】:

    标签: uitableview swift3 uicontainerview


    【解决方案1】:

    将情节控制上的动作从情节提要添加到此方法

    @IBAction func segmentChanged(_ sender: UISegmentedControl) {
    
        let orageViewController = self.childViewControllers[sender.selectedSegmentIndex] as! OrageViewController
            orageViewController.updateTable()
    
    }
    

    现在 updateTable() 是你的子视图控制器(OrageViewController)中的方法 在 OrageViewController 中

    func updateTable(){
    
     yourTableView.reloadData()
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多