0

我有一个弹出模式视图控制器的主窗口。在此模式视图控制器中完成后,它会返回到主窗口,然后自行关闭。然后主窗口弹出一个新的模态视图控制器,动画=YES。

问题是在第一个 modalviewcontroller 内部完成的解除调用适用于两者,并且从未显示 SecondController。

在父调用之前或之后放置第一次关闭不会改变任何内容。如果第一次关闭设置为 animate=NO,则一切正常。但我需要动画。

主程序

- (void) entry {

    FirstController *nextWindow = [[FirstController alloc] initWithNibName:@"theNIB" bundle:nil];

    nextWindow.caller = self;

    UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:nextWindow];

    [self.navigationController presentModalViewController:navController animated:YES];

    [nextWindow release];
    [navController release];
}


- (void) thingsDoneInFirstModalController:(OBJECT)returnValue retval2:(OBJECT2)returnValue2 {
    [self display2ndController];
}

- (void) display2ndController {

    SecondController *nextWindow;

    nextWindow = [[SecondController alloc] initWithNibName:@"NIB2" bundle:nil];

    UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:nextWindow];
    [self.navigationController presentModalViewController:navController animated:YES];
    [navController release];
    [nextWindow release];
}

第一个 ModalViewController.m

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

    [self.navigationController dismissModalViewControllerAnimated:YES];
    [self.caller thingsDoneInFirstModalController:theResult retval2:someMoreResult];
}

我能做什么?我不想看到任何东西......消失......

为什么解雇会发生碰撞,因为它们不是从同一个导航控制器调用的?

4

1 回答 1

2

原因可能是您关闭它时的动画。performSelector:withObject:afterDelay:尝试使用继承自 的方法显示第二个模式窗口NSObject。参考这里

于 2011-01-24T23:21:50.870 回答