IOS:closures两个viewController
我有三个viewController
第一,第二和第三
从二到开第三我用
Third *third = [[Third alloc]initWithNibName:@"Third" bundle:nil]; [self presentModalViewController:third animated:YES]; [third release];
现在我想从第三个回到第一个; 那么我在viewDidAppear中设置第二个这样的代码:
[self dismissModalViewControllerAnimated:NO];
但1秒钟,我看到第二,我不想看…我该怎么办?
您需要先closures第三个视图控制器,然后再closures第二个Viewcontroller。 当你想去第一个视图控制器时,请执行以下代码。
-(void)goToFirstView{ UIViewController *vc = [self parentViewController]; // UIViewController *vc = [self presentingViewController]; //ios 5 or later [self dismissModalViewControllerAnimated:NO]; [vc dismissModalViewControllerAnimated:YES]; }
第三种模式观点如何被首先解雇? 也许通过用户触摸“完成”button? 如果是这样,它是在button的处理程序,你想解雇这两个。
你可以解雇这两个:
[self dismissModalViewControllerAnimated: YES]; [self.presentingViewController dismissModalViewControllerAnimated: NO];
发生这种情况时,视图出现之前,每次都会调用viewDidAppear,所以一旦它出现,你将它closures,并且它就会消失。
我不认为你想要做什么可以实现与modalViewControllers …而是使用navigationController并不断增加您的viewcontrollers到堆栈上,当你想要转到第一个视图控制器只是调用
[self.navigationController popToRootViewControllerAnimated:YES];
EDIT
:
只是想到这个可以通过使用委托来实现..你让第二个委托第三个,然后你立即解散第三个委托给委托的消息。在这个消息中调用[self dismissModalViewControllerAnimated:NO];
..你完成了..(如果你知道代表团,这很容易)
- 用给定的string查找具有固定宽度和高度的UITextView中的字符数?
- handleWatchKitExtensionRequest不响应Watchkit扩展中的openParentApplication(Swift)