我在主视图中添加了一个视图,如下所示:
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中不再使用,我是否需要做任何不同的事情?
答案 0 :(得分:1)
看起来你在这里做了太多工作。您使用self.viewControllerForPresentation.view
自己将-addSubview:
添加到视图中,但您还使用-presentViewController:animated:completion:
呈现视图控制器。该方法提供了有问题的视图控制器,然后应该将视图添加到视图层次结构中。要删除视图,您可以使用-dismissViewControllerAniamted:completion:
,然后相应地删除视图。
简而言之, 使用-addSubview:
和-removeFromSuperview
自己添加和删除视图,或显示拥有该视图的视图控制器-presentViewController:animated:completion:
并使用-dismissViewControllerAniamted:completion:
将其解雇。不要两者兼顾。
答案 1 :(得分:-1)
试试这个。
[self dismissViewControllerAnimated:voteResult completion:nil];