3

我正在构建一个 iPhone 应用程序,并且我已经实现了一个关于该应用程序主题的知识库部分。我使用了表格视图和导航视图控制器,以便在选择表格中的任何单元格时,将创建一个新的视图控制器并将其添加到导航堆栈中。

我尝试自己实现向上/向下卷曲动画,但在运行时出现此错误

父视图控制器在调用 -[UIViewController transitionFromViewController:toViewController:duration:options:animations:completion:]' 时使用了遗留容器

这是代码示例

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

// change the accessory button to activity indicator
UITableViewCell *cell = [mTableView cellForRowAtIndexPath:indexPath];


SomeViewController *ad = [[SomeViewController alloc] initWithNibName:@"SomeViewController" bundle:[NSBundle mainBundle]];
ad.title = cell.textLabel.text;


[self.navigationController addChildViewController:ad];
[self.navigationController transitionFromViewController:self toViewController:ad duration:0.7 options:UIViewAnimationOptionTransitionCurlUp animations:^{} completion:^(BOOL completed){
    [ad release];
}];

非常感谢任何帮助、建议和提示!谢谢!

4

1 回答 1

6

嘿,当我的自定义包含视图控制器是 UINavigationViewController 的子类时,我遇到了同样的异常。当我让我的容器 vc 成为 UIViewController 的子类时,它就像一个魅力。你的问题可能不一样。来自苹果文档:

此方法仅供自定义容器视图控制器的实现调用。如果你重写这个方法,你必须在你的实现中调用 super。

您在 UINavigationViewController 实例上调用此方法,而不是在自定义容器视图控制器的实例上。

于 2012-06-14T00:30:49.380 回答