[英]removeFromSuperView don't work on iOS 8
我在主视图上添加一个视图,如下所示:
self.voteResult = [[voteResultViewController alloc]initWithNibName:@"voteResultViewController" bundle:nil];
UIWindow* mainWindow = [[UIApplication sharedApplication] keyWindow];
[mainWindow addSubview:[self.viewControllerForPresentation view]];
[self.viewControllerForPresentation presentViewController:self.voteResult animated:YES completion:Nil];
然后使用以下命令将其删除:
[self.viewControllerForPresentation.view removeFromSuperview];
在iOS 7中有效,但在iOS 8中不再有效,我需要做其他不同的事情吗?
您似乎在这里做了太多工作。 您要添加self.viewControllerForPresentation.view
使用到视图自己-addSubview:
但你也呈现使用视图控制器-presentViewController:animated:completion:
。 该方法提供了相关的视图控制器,然后应负责将视图添加到视图层次结构中。 要删除视图,您可以使用-dismissViewControllerAniamted:completion:
这又应该适当地删除视图。
简而言之,您可以使用-addSubview:
和-removeFromSuperview
自己添加和删除视图, 或者使用-presentViewController:animated:completion:
呈现拥有视图的视图控制器,然后使用-dismissViewControllerAniamted:completion:
将其关闭。 不要两者都做。
尝试这个。
[self dismissViewControllerAnimated:voteResult completion:nil];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.