UIViewControllers在UIPageViewController中重用

时间:2015-05-27 16:39:55

标签: ios objective-c uipageviewcontroller

我有一个UIPageVIewController,我正在使用重用标识符初始化控制器,即:

BaseContentViewController *contentViewController = (BaseContentViewController *)[self.storyboard instantiateViewControllerWithIdentifier:self.controllerRestorationIDs[index]];

我注意到了

  

如果重新使用UIViewController,则不会在该控制器中调用viewDidLoad,因此我希望每次UIViewController出现时都要执行的任何代码都不会被执行。

例如,我想在每次出现时更改背景颜色。

是否有一些类似prepareForReuse UITableViewCell的方法可以将此代码放入其中?

2 个答案:

答案 0 :(得分:1)

我把它放在-viewWillAppear:。

答案 1 :(得分:0)

有一个类似prepareForReuse的方法,它是-viewWillAppear:: 如果您想在每次显示ViewController时更改背景颜色,您可以setBackgroudColor喜欢:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.view.backgroundColor = [UIColor colorWithRed:arc4random_uniform(256)/255.f
                                                    green:arc4random_uniform(256)/255.f
                                                     blue:arc4random_uniform(256)/255.f alpha:1.f
                                ];
}