Objective c 关闭UIViewController
我正在尝试在一个Objective c 关闭UIViewController,objective-c,ios,Objective C,Ios,我正在尝试在一个UIViewController呼叫另一个后立即关闭。这应该很简单,但我没有成功。我使用以下方法: - (IBAction)bClose:(id)sender { iTest *test = [[iTest alloc] initWithNibName:@"iTest" bundle:[NSBundle mainBundle]]; test.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
UIViewController
呼叫另一个后立即关闭。这应该很简单,但我没有成功。我使用以下方法:
- (IBAction)bClose:(id)sender {
iTest *test = [[iTest alloc] initWithNibName:@"iTest" bundle:[NSBundle mainBundle]];
test.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:test animated:YES];
[test release];
[self dismissModalViewControllerAnimated:YES];
}
我相信这并不简单。我也做过类似的事情,但我在第一篇文章中介绍了第二篇文章,然后在第二篇文章想驳回的时候驳回了第一篇文章(同时驳回了这两篇文章)。为了更好地解释我的意思:
UIViewController *c1 = [[UIViewController alloc] init];
[self presentModalViewController: c1 animated:YES];
c1内:
UIViewController *c2 = [[UIViewController alloc] init];
c2.c1 = self;
[self presentModalViewController: c2 animated:YES];
c2内部:
[c1 dismissModalViewControllerAnimated:YES];
我也试过类似的方法,但是遇到了同样的问题 我的解决方案是启动计时器,时间为0.5秒,然后关闭选择器中的视图
为我工作。您到底想做什么?这不起作用,因为您试图关闭一个仍有子控制器打开的控制器。你应该回到绘图板,找到正确的导航方式。编辑以添加一些代码。我不能告诉你这是否有效,但我想我做了类似的事情。不再有代码。[自执行选择器:@selector(close)with object:nil afterDelay:0.5];-(void)close{[self dismissModalViewControllerAnimated:YES];}-它仍然失败,我做错了什么?在close方法中通过断点检查以确认调用了dismissModalview。如果是的话。然后将延迟更改为更高的值。这一观点将被驳回。这完全取决于第二种观点需要多少时间才能形成。我想在你提出新观点之前,你必须放弃它,但我可能错了。