【问题标题】:dismissViewControllerAnimated: not animatingdismissViewControllerAnimated: 没有动画
【发布时间】:2013-07-12 04:34:18
【问题描述】:

我正在与SVWebViewController 合作。当我在这里展示视图控制器时

SVModalWebViewController *webViewController = [[SVModalWebViewController alloc] initWithAddress:address];
webViewController.webDelegate = self;

[self presentViewController:webViewController animated:YES completion:nil];

视图控制器按预期从底部向上滑动。但是,当视图控制器被关闭时,调用

[self dismissViewControllerAnimated:YES completion:nil];

视图控制器就这样消失了。没有向下滑动动画。有什么想法吗?

编辑 事实证明,很多演示动画都没有在应用程序中正确显示。导航控制器上的一些推动不是滑入或滑出(但有些是)。他们只是出现。

【问题讨论】:

  • 你在哪个视图控制器中调用 [self dismissViewControllerAnimated:YES completion:NULL];
  • 还有其他代码同时运行吗?
  • [selfdismissViewControllerAnimated:YES 完成:NULL];在 SVWebViewController 中调用。初始化 SVModalWebViewController 时,它将 SVWebViewController 的一个实例设置为其根视图控制器。 @Wain - 没有其他代码同时运行。
  • 只是仔细检查...你是从主线程调用这个吗?
  • 是的 - 从主线程调用

标签: ios objective-c uiviewcontroller


【解决方案1】:
[self dismissViewControllerAnimated:YES completion:NULL]; 

这应该在 SVModalWebViewController 而不是 SVWebViewController

编辑:您应该推送而不是模态地转到 SVWebViewController:

SVWebViewController *webViewController = [[SVWebViewController alloc] initWithAddress:@"http://google.com"];
[self.navigationController pushViewController:webViewController animated:YES];

你应该:

[self.navigationController popViewControllerAnimated:YES];

【讨论】:

  • 我尝试从 SVModalWebViewController 调用,但行为是一样的。
  • Web 视图控制器旨在从由导航控制器处理的视图控制器以模态方式呈现(不作为导航控制器中的下一个视图呈现)
  • @bdev SVModalWebViewController 是导航控制器吗?
  • 是的,SVModalWebViewController 是一个导航控制器
  • 尝试展示 SVWeb 而不是 SVModal。
【解决方案2】:

来自 SVWebViewController viewWillAppear::

SVWebViewController 需要包含在一个 UINavigationController。如果您正在展示 SVWebViewController 模态地,使用 SVModalWebViewController 代替。

  1. 您的主视图控制器是否包含在导航控制器中?如果不是,这可能会导致您面临的其他动画问题。
  2. 解雇应来自显示的modalViewController

【讨论】:

  • 1. SVModalWebViewController 是一个导航控制器。它的根视图控制器被设置为 SVWebViewController 的一个实例。 2. [selfdismissViewControllerAnimated:YES 完成:NULL];在 SVWebViewController 控制器中调用;我试图在 SVModalWebViewController 中调用它,但行为是一样的。
  • 我知道您在初始化 modalViewController 时创建了一个 SVWebViewController 的实例作为根 viewController,对吗?你不应该使用你之前展示模态的控制器吗?
【解决方案3】:

当目标视图控制器加载大图片或背景时发生在我身上

【讨论】:

  • 网络视图控制器没有加载图像。
猜你喜欢
  • 2012-06-20
  • 2014-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-24
相关资源
最近更新 更多