我有一个UIPageVIewController
,我正在使用重用标识符初始化控制器,即:
BaseContentViewController *contentViewController = (BaseContentViewController *)[self.storyboard instantiateViewControllerWithIdentifier:self.controllerRestorationIDs[index]];
我注意到了
如果重新使用
UIViewController
,则不会在该控制器中调用viewDidLoad
,因此我希望每次UIViewController
出现时都要执行的任何代码都不会被执行。
例如,我想在每次出现时更改背景颜色。
是否有一些类似prepareForReuse
UITableViewCell
的方法可以将此代码放入其中?
答案 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
];
}