ios - Reload UITableView inside UIScrollView in Swift -


i've main class called viewcontroller holding uiscrollview , inside viewcontroller i'm defining 3 other controllers holding uitableviews following :

let viewcontroller1 = storyboard?.instantiateviewcontrollerwithidentifier("viewcontroller1") as! viewcontroller1 let viewcontroller2 = storyboard?.instantiateviewcontrollerwithidentifier("viewcontroller2") as! viewcontroller2 let viewcontroller3 = storyboard?.instantiateviewcontrollerwithidentifier("viewcontroller3") as! viewcontroller3 

and adding them scrollview.

i've implemented uiscrollviewdelegate after finishing scrolling refresh uitableview in viewcontroller.

func scrollviewdidenddecelerating(scrollview: uiscrollview) {      let page = scrollview.contentoffset.x / self.view.frame.width  } 

i got page number, how reload example if in viewcontroller2 has uitableview?

keep array of view controllers in viewcontroller:

var viewcontrollers = [uiviewcontroller]() 

then set them , add them array:

viewcontrollers.append(storyboard?.instantiateviewcontrollerwithidentifier("viewcontroller1") as! viewcontroller1) viewcontrollers.append(storyboard?.instantiateviewcontrollerwithidentifier("viewcontroller2") as! viewcontroller2) viewcontrollers.append(storyboard?.instantiateviewcontrollerwithidentifier("viewcontroller3") as! viewcontroller3) 

then can reference them in scroll view delegate method:

func scrollviewdidenddecelerating(scrollview: uiscrollview) {     let page = int(floor(scrollview.contentoffset.x / self.view.frame.width))     if page < viewcontrollers.count {         let viewcontroller = viewcontrollers[page]         // whatever viewcontroller     } } 

Comments