dismissViewControllerAnimated:没有动画

6

我正在使用SVWebViewController。当我在这里展示视图控制器时

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

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

视图控制器从底部向上滑动,这是预期的。但是,当视图控制器被解除时,请调用。
[self dismissViewControllerAnimated:YES completion:nil];

视图控制器简单地消失了,没有向下滑动的滑动动画。有什么想法吗?
编辑 事实证明,很多演示动画在应用程序中都无法正确显示。一些导航控制器上的推送不会滑入或滑出(但有些会)。他们只是出现了。

你正在测试哪个iOS版本?你是在使用设备还是模拟器? - JustAnotherCoder
@bdev 你在使用故事板吗? - Abdullah Shafique
我认为你应该包含更多的代码,并解释你是如何初始化你的VCs,哪个VC在调用上述方法,以及在你的代码中何处调用dismiss。当情况不清楚时,很难想出解决方案。从你现在拥有的东西来看,它应该可以工作。我创建了一个测试项目并复制了你的情况,它完全正常。 - Armin
看看下面Saleh的回答。你可能有同样的问题。当你调用dismiss时,你是否在主线程上进行了大量计算? - Armin
你所有的didAppear、willAppear、didDisappear等方法都调用了super吗? - Darren
显示剩余10条评论
3个回答

0
[self dismissViewControllerAnimated:YES completion:NULL]; 

这应该出现在SVModalWebViewController而不是SVWebViewController中

编辑:不要使用模态Segue转到SVWebViewController,而应该使用push:

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

而不是驳回你,你应该:

[self.navigationController popViewControllerAnimated:YES];

我尝试从SVModalWebViewController中调用,但行为仍然相同。 - bdev
网页视图控制器旨在从由导航控制器处理的视图控制器模态呈现(而不是作为导航控制器中的下一个视图呈现)。 - bdev
@bdev SVModalWebViewController是一个导航控制器吗? - Abdullah Shafique
是的,SVModalWebViewController是一个导航控制器。 - bdev
尝试使用SVWeb代替SVModal进行演示。 - Abdullah Shafique
SVWebViewController 需要包含在 UINavigationController 中。如果您正在以模态方式呈现 SVWebViewController,请改用 SVModalWebViewController。 - bdev

0

从SVWebViewController的viewWillAppear:方法:

SVWebViewController需要被包含在UINavigationController中。如果您以模态方式呈现SVWebViewController,请改用SVModalWebViewController。

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

  1. SVModalWebViewController是一个导航控制器。它的根视图控制器被设置为SVWebViewController的一个实例。
  2. [self dismissViewControllerAnimated:YES completion:NULL]; 在SVWebViewController控制器中被调用;我尝试在SVModalWebViewController中调用它,但行为是相同的。
- bdev
我理解你创建了一个SVWebViewController的实例作为根viewController,当你初始化modalViewController时,你应该使用之前呈现modal的控制器,对吗? - Lirik

0

当目标视图控制器加载大图片或背景时,这种情况也发生在我身上。


网页视图控制器无法加载图片。 - bdev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接