【问题标题】:dismissModalViewControllerAnimated doesn't returndismissModalViewControllerAnimated 不返回
【发布时间】:2012-01-19 00:10:07
【问题描述】:

如果我将视图推送到 Navcontroller 上效果很好,我可以使用代码或使用 Nav Controller 后退按钮从它返回。

然后我将其更改为模态显示视图。预设有效,但我无法让它返回并关闭模式视图。

这可行...主视图

   Tools *screen = [[Tools alloc] initWithNibName:@"Tools" bundle:[NSBundle mainBundle]];

     [mainNavController pushViewController:screen animated:YES];

    [screen release];

一个模态视图:

- (IBAction)btnCancel:(id)sender {


  [self.navigationController popToViewController:[self.navigationController.viewControllers  objectAtIndex:0] animated:YES];


}

但是我在模态视图上将其更改为像这样的模态,它不会返回主视图。

Tools *screen = [[Tools alloc] initWithNibName:@"Tools" bundle:[NSBundle mainBundle]];

 [mainNavController presentModalViewController:screen animated:YES];

  [screen release];

在模态视图上:

- (IBAction)btnCancel:(id)sender {


    [self.parentViewController dismissModalViewControllerAnimated:YES];


}

我已经尝试了所有我能想到的东西,显然我错过了一些东西!有什么想法吗?

感谢您的帮助!!

【问题讨论】:

    标签: iphone ios uiviewcontroller


    【解决方案1】:

    从自身关闭模态视图(模态视图)

    [self dismissModalViewControllerAnimated:YES];
    

    【讨论】:

      【解决方案2】:

      您的btnCancel 方法是否真的被调用了?您是否尝试过插入 NSLog 语句或断点来验证这一点?

      您的代码在我看来是正确的,所以我想知道您是否只是没有在 Interface Builder 中连接一些东西。

      【讨论】:

      • @X Slash 的想法是不解雇自己,这很有效。我不知道为什么,以前从来没有这样做过。以图形方式查看视图堆栈当然会很酷,这样您就知道发生了什么。我又学到了一个教训。感谢您的想法!
      • 我可能是错的,但是,你的代码应该在 iOS 4 上运行,在 iOS 5 上,我认为他们改变了他们的方式,modalView.parentViewController(例如)最有可能返回 nil,因此发送任何消息到 nil 什么都不做! (未经测试,在我头上,所以自己测试一下)
      猜你喜欢
      • 1970-01-01
      • 2011-06-20
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      • 2011-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多