2017-05-08 70 views
0

我有2个分段控制按钮。 “苹果”和“橙色”分段按钮。 我把表格视图放在里面,当用户点击“Apple”时,Apple Table View会出现。
将表视图放入容器视图中swift 3

我把另一个“容器”视图(命名为:“橙色容器视图”),当用户点击“橙色”选项卡时,它会显示出来。
Container View有子视图控制器。所以,我把名为Orange TableView的“Table View”放在子视图控制器中。

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

如何从儿童视图控制器重新加载表格以便在点击“橙色”选项卡时立即显示。

我试过了“Dispatch”方法。我不知道如何编写子视图控制器的表重载代码。

[UPDATE:解决的问题]

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

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) 

回答

2

上段控制从故事板添加操作该方法

@IBAction func segmentChanged(_ sender: UISegmentedControl) { 

    let orageViewController = self.childViewControllers[sender.selectedSegmentIndex] as! OrageViewController 
     orageViewController.updateTable() 

} 

现在updateTable()是在OrageViewController

func updateTable(){ 

yourTableView.reloadData() 

} 
在乌尔子视图控制器(OrageViewController) 该方法
相关问题