Iphone 在ModalView之间切换
场景:Iphone 在ModalView之间切换,iphone,objective-c,cocoa-touch,xcode,model-view-controller,Iphone,Objective C,Cocoa Touch,Xcode,Model View Controller,场景: 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:se
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时,它工作正常。 如果此参数为是,则viewB不会出现在屏幕上
如何使其与动画一起工作?动画将需要一些时间,大约0.3秒。您无法看到动画何时完成(未发送代理方法),因此可以执行两项操作:
我真的很想知道你为什么要做这样的事,因为这真的不是苹果式的。您最好在旧的模态视图上显示新的模态视图,或者尝试找到另一种能够正确解决问题的设计模式,这会更好。动画将需要一些时间,大约0.3秒。您无法看到动画何时完成(未发送代理方法),因此可以执行两项操作:
我真的很想知道你为什么要做这样的事,因为这真的不是苹果式的。您最好在旧的模态视图上显示新的模态视图,或者尝试找到另一种能够正确解决问题的设计模式,这会更好。当图像选择器返回时,我会这样做,我需要对给定的图像采取一些措施。我不想在选择器完全解除之前启动该操作,因此我在前面设置了一个标志,并在
-viewdide:
中检查它。当图像选择器返回时,我会这样做,我需要对给定的图像执行一些操作。在选择器完全解除之前,我不想启动该操作,因此我在前面设置了一个标志,并在-viewdide:
中检查它。