【发布时间】:2015-09-06 01:34:48
【问题描述】:
我有一个UIPageViewController,它的一个View Controllers 有一个Container View,它的父View Controller 将数据传递给它,以便容器可以显示动态数据。我目前有父视图使用此prepareForSegue 方法将数据传递到容器视图中的视图:
//In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"CALLED PREPARE FOR SEGUE");
if ([segue.identifier isEqualToString:@"viewEmbed"]) {
//pass data
}
}
但是,这个prepareForSegue 方法只调用一次(注意我的 NSLog 调试语句),但是每次UIPageViewController 滑动到父视图时,我都需要将不同的数据传递给子视图。我还注意到 viewDidLoad 方法在我的父视图中只触发一次,因为 UIPageViewController 保留了其页面的状态。
每次从UIPageViewController 滑动到父视图时,有没有办法重新实例化(再次调用 viewDidLoad)父视图?我想这会使prepareForSegue 方法不止一次触发,我需要它来做。还是我想错了,有更优雅的解决方案?
任何帮助或建议将不胜感激。谢谢。
【问题讨论】:
标签: ios objective-c uipageviewcontroller uicontainerview