Ios UIPageViewController强制重新加载子视图控制器
我在根UIPageViewController中有一个滑块,它需要将滑块值传递给子视图控制器。它适用于除已加载的子视图控制器之外的其他子视图控制器 我在根视图中有滑块,用于更改我调用的滑块值-Ios UIPageViewController强制重新加载子视图控制器,ios,uipageviewcontroller,uipagecontrol,Ios,Uipageviewcontroller,Uipagecontrol,我在根UIPageViewController中有一个滑块,它需要将滑块值传递给子视图控制器。它适用于除已加载的子视图控制器之外的其他子视图控制器 我在根视图中有滑块,用于更改我调用的滑块值- - (void)sliderValueChanged:(UISlider *)slider { fontValue = slider.value; DetailsVC *dataViewController = [self viewControllerAtIndex:self.newsI
- (void)sliderValueChanged:(UISlider *)slider {
fontValue = slider.value;
DetailsVC *dataViewController = [self viewControllerAtIndex:self.newsIndex storyboard:self.storyboard];
[dataViewController refreshViewForFontSize:slider.value];
}
我有UIPageViewController的常用方法,可以很好地工作。问题是,只有在子ViewController中调用ViewDid Load方法后,它才能工作
- (DetailsVC *)viewControllerAtIndex:(NSUInteger)index storyboard:(UIStoryboard *)storyboard {
// Return the data view controller for the given index.
if (([self.pageContent count] == 0) || (index >= [self.pageContent count])) {
return nil;
}
DetailsVC *dataViewController = [[DetailsVC alloc] init];
dataViewController.fontValue = fontValue;
return dataViewController;
}
终于找到了解决办法
DetailsVC *dataViewController = [self viewControllerAtIndex:currentIndex-1 storyboard:self.storyboard];
dataViewController.textColor = textColor;
NSArray *viewControllers = @[dataViewController];
[self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
重新加载子viewcontroller的当前方法是通过
SetViewController:方向:动画:完成:
如果有人需要一个例子项目,我上传到