0

Greystripe adverts를 통합하는 데 약간의 문제가 있습니다 (중요하지 않은 here 문서). 그냥이modalViewController를 호출하면 호출이 취소됩니다.

iSlideAppDelegate *appDelegate = (iSlideAppDelegate *)[[UIApplication sharedApplication] delegate]; 
      UIStoryboard *storyboard = self.storyboard; 
      Game3ViewController *gameView = (Game3ViewController *)[storyboard instantiateViewControllerWithIdentifier:@"mainGameController"]; 
      [appDelegate.window addSubview:gameView.view]; 

이처럼 내 gameView을 제시하면 내 문제를 해결하는 방법이 기본적으로 그냥 현재 뷰 컨트롤러의 상단에 내 gameView을 추가하고있다.

지금이보기에서 나는이보기가 표시되는이

FullScreenSelfAdViewController *adView = [[FullScreenSelfAdViewController alloc] initWithNibName:@"FullScreenSelfAdViewController" bundle:nil]; 
     [adView setDismissDelegate:self]; 
     [self presentModalViewController:adView animated:YES]; 

문제는, 내 gameView의 할당 해제 같은 다른 모달보기를 표시합니다. AdView를 닫을 때 dealloc가 호출되지만 기본 gameView가 더 이상 존재하지 않으므로 화면에 그대로 유지됩니다.

이러한보기를 호출하는 더 좋은 방법이 있습니까? (내 gameView를 모달보기로 표시하여 호출 할 수는 없습니다.) 또는 gameView의 할당을 해제하는 방법?

답변

1

짐작할 수 있겠지만, 할당 해제 된 클래스를 유지하는 강력한 변수가 없습니다. 그 반을 만드는 사람은 강한 ivar를해야한다. 나는 객체를 생성하고 그것을 유지하지 않고 사용하려고 할 때 똑같은 문제를 겪었다. UIAlerts의 경우 [경고 표시]를 호출 할 때 시스템에서이를 유지하므로 다른보기 컨트롤러와 함께이 작업을 수행 할 수 있다고 생각할 수 있습니다.

행운을 빈다.

+0

감사합니다. 강력한 변수 만들기가 효과적입니다. 당신이하는 대부분의 시간을 보내는 것을 간과하는 것은 재미 있습니다. – Darren

+0

하하는 내가 어떻게 답을 알고 있는지 물어 본다 .- –

+0

나는 왜 어떤 것이 머물지 않을지 알아 내려고 노력하고있다. 롤 – Darren