2014-11-03 2 views
0
내가보기를 추가 해요

작동하지 않습니다 : 다음removeFromSuperView이처럼 내 기본보기를 통해 아이폰 OS 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]; 

아이폰 OS 7 작품, iOS 8에서는 더 이상 사용할 수 없지만 다른 것을해야합니까?

+2

왜 당신이보기를 추가하고'-presentViewController : animated : completion :'? 이 메서드는 뷰 컨트롤러를 제공하므로 뷰가 적절히 표시되어야합니다. 그런 다음'-dismissViewControllerAnimated : completion :'을 사용하여 컨트롤러를 닫고 뷰를 제거해야한다. – Caleb

답변

-1

시도해보십시오.

[self dismissViewControllerAnimated:voteResult completion:nil]; 
1

너무 많은 일을하고있는 것처럼 보입니다. -addSubview:을 사용하여 직접 self.viewControllerForPresentation.view을보기에 추가하고 있지만 -presentViewController:animated:completion:을 사용하는보기 컨트롤러도 제시하고 있습니다. 그 방법은 문제의 View Controller를 제시하며, View 계층을 뷰에 추가해야합니다. 보기를 제거하려면 -dismissViewControllerAniamted:completion:을 사용하고 차례로보기를 적절하게 제거해야합니다. 요컨대

, 어느 추가하고 -addSubview:-removeFromSuperview, 또는-presentViewController:animated:completion:를 사용 -dismissViewControllerAniamted:completion:를 사용하여 기각 뷰 소유 뷰 컨트롤러 제시를 사용하여 뷰를 직접 제거. 둘 다하지 마십시오.