【发布时间】:2011-03-27 09:10:08
【问题描述】:
我有一个正在执行很多功能的视图,当我完成时,我想更改为newViewcontroller。如果我从我刚刚调用的根视图中执行此操作。
NewPageViewController *newDetailViewController = [[NewPageViewController alloc] initWithNibName:@"NewPageViewController" bundle:nil];
detailViewController = newDetailViewController;
但我需要从我的旧细节(右侧)开始
我正在从右侧下载 splitview iPad 应用程序中的文件,下载文件后,我需要在我的方法中将 splitview 的右侧更改为新的 nib 文件,以便我可以打开和编辑文件
有人能指点我吗?
现在我有:
-(void)changeView {
ListController *newDetailViewController = [[ListController alloc] initWithNibName:@"ListController"bundle:nil]
NSArray *viewControllers = [NSArray arrayWithObjects:[splitViewController.viewControllers objectAtIndex:0], newDetailViewController, nil];
splitViewController.viewControllers = viewControllers;
[viewControllers release];
}
-(void)downloadfile {
//I do all my work and get the file.
NSLog(@"I need to change views now.");
[self changeView];
}
我没有收到任何错误,但右侧视图没有改变。
【问题讨论】:
-
嘿克里斯,你的问题不是很清楚。你到底想做什么?如果您能以更好的方式解释它,那么我可以相应地帮助您。 :)
-
您确定您的 RHS 视图没有改变吗?是不是它正在改变,但看起来与已经存在的视图没有什么不同?您是否在主线程上调用 downloadfile 顺便说一句? (你应该)。下载文件肯定会被调用吗?你的 NSLog 得到了输出,对吧?
-
另外,放入 NSLog 以检查 splitViewController 是否为空 - 您可能没有从 Interface Builder 连接 IBOutlet?
-
好吧,它看起来是空的。断言失败:(splitViewController.viewControllers != nil),函数 -[ListController changeView]
-
那么你连接 UISplitViewController 了吗?听起来你忘了。这能解决你的问题吗?