从另一个视图控制器关闭视图控制器
我对iPhone应用程序开发非常新颖。
我想关闭/从另一个视图中删除一个视图,但有些如何它不适合我。从另一个视图控制器关闭视图控制器
我应该如何关闭/从另一个视图控制器中删除视图控制器。
有两个视图A
和B
。
查看A
正在打开视图B
使用以下代码。
ViewBScreenController *mViewB = [[ViewBScreenController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:mViewB animated:YES];
但一些如何,我不能够关闭视图B
从视图控制器A.
怎么办呢?
---- ---- UPDATE
至于问我为什么需要从视图近景B中的答案,因为我正从下面的应用层事件查看器A和上一些事件我想从视图A关闭视图B.
也有可能发送一些事件来查看B关闭自己。
谢谢。
- (void)viewDidLoad
{
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(XXXXX) name:@"RRRR" object:nil];
}
-(void)XXXXX{
/* any method you wont */
[self dismissModalViewControllerAnimated:YES];
//////////////////////////
}
在B或C或d等
....
-(IBAction)Btn:(id)sender{
[[NSNotificationCenter defaultCenter] postNotificationName:@"RRRR" object:nil];
}
其将这样的伎俩
您正在寻找dismissViewControllerAnimated:completion:
的文档是在这里:
一般来说,你应该有一个展示模态视图控制器关闭它的视图控制器,但它也可以辞退本身。该消息将自动转发给提供该消息的VC。我会做的少“神奇”的方式:
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
为什么你会从视图A辞退查看b。如果用户在查看B.因为它不无论身在何处结束动作是从哪里来的,为什么不直接解雇视图B用一个简单的dismissModalViewController
时动作要关闭视图B进来只需输入
- (IBAction)goBack:(id)sender {
[self dismissModalViewControllerAnimated:YES];
}
因此使用此代码,你应该能够解雇模态视图控制器没有问题。它可以从任一视图被开除,但如果视图B存在,则该用户不能使用的按钮交互或创建视图A.动作
FYI dismissModalViewControllerAnimated:YES是在IOS 6弃用,是现在略有不同:dismissViewControllerAnimated:完成: – Hippocrates
您正在使用已过时的方法,用这个来代替:
- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion;
有了这个,你从A
当你想回到A B存在,你做相反:您从B.
如何呈现?有几种方法,例如观察员通知。
实际上给出的代码应该在B或D等副词。这对我有效。在B视图中发送通知后,我打电话关闭视图,它工作正常。 – User7723337