方案:
1.显示基于导航控制器的视图
2.用户选择选项
3.显示模态视图A
4.用户在模态视图A中选择另一个选项
5.隐藏模态视图A
6.显示模态视图B
// This function must show modal view A
This scenario implemented like this:
- (IBAction)showModalViewA:(id)sender {
ModalViewA *viewA = [[ModalViewA alloc] forParent:self];
[self presentModalViewController:viewA animated:YES];
[viewA release];
}
// This function must hide modal view A and show modal view B
- (void)didSelectOptionInViewA {
ModalViewB *viewB = [[ModalViewB alloc] init];
viewB.peoplePickerDelegate = self;
[self dismissModalViewControllerAnimated:NO]; // Problem Is Here
[self presentModalViewController:viewB animated:YES];
[viewB release];
}
请查看标记为 //问题在这里的行 当我设置 dismissModalViewControllerAnimated:NO 时,它可以正常工作。 如果此参数为 YES ,则屏幕上不会显示viewB。
如何让它适用于动画?
答案 0 :(得分:0)
动画需要一些时间,比如0.3秒。您无法看到动画何时结束(没有发送任何委托方法),因此您可以执行以下两项操作:
我真的很想知道你为什么要做这样的事情,因为这真的不是Apple-ish。您最好在旧的模态视图上显示新的模态视图,或者尝试找到另一种能够更好地解决问题的设计模式,这样会更好。