我正在加载我的视图控制器:
NSArray *viewControllerNames = [NSArray arrayWithContentsOfFile:path];
for (NSString *viewControllerClass in viewControllerNames) {
NSString *filePath = [self filePathForClass:NSClassFromString(viewControllerClass)];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
id viewController = [NSKeyedUnarchiver unarchiveObjectWithData:[NSData dataWithContentsOfFile:filePath]];
[self pushViewController:viewController animated:NO];
}
}
在我的堆栈的根视图控制器上,我在导航栏中添加了一个手势识别器。
但是,如果我将一些视图控制器推到顶部,它将不会加载此手势,因为根视图控制器的viewDidLoad
未被调用,并且如果我访问viewControllers
属性{{ 1}}它返回nil。
有关如何继续此动作的任何想法?谢谢!
答案 0 :(得分:1)
如何使用setViewControllers:animated:
而不是逐个推送单个视图控制器?
NSMutableArray * viewControllers = [[NSMutableArray alloc] init];
for(...) { // the same for loop you have
...
[viewControllers addObject:viewController];
}
[self setViewControllers:viewControllers animated:YES];