2017-05-08 75 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) 該方法
相關問題