2011-10-25 3 views
1

iAd를 내 앱에 통합하려고합니다.iAd View 대 사용자 정의 ViewController

나는이 응용 프로그램에있는 모든 사용자 정의 ViewController를 다루는 SwitchViewController (: UIViewController) 클래스가 있습니다. 나는 다른 모든 서브 뷰를 삽입하지 않는 경우, 그러나

ADBannerView: WARNING A banner view has an ad but may be obscured 

- 말게 잘 작동 :

가장 높은 atIndex에서 다음과 같이보기를 추가

, 나는 오류가 발생합니다. 나는 그것을 볼 수 있지만, 물론 다른 모든 견해들은 사라져 버렸다.

어떤 아이디어?

하여 하위 뷰를 추가 :

ADBannerView *tmpBannerView = [[ADBannerView alloc] initWithFrame:CGRectZero]; 
self.adView_iPad = tmpBannerView; 
self.adView_iPad.frame = CGRectMake(0, 0, self.adView_iPad.frame.size.width, self.adView_iPad.frame.size.height); 
self.adView_iPad.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait]; 
self.adView_iPad.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait; 
self.adView_iPad.delegate = self; 
[self.view insertSubview:self.adView_iPad atIndex:100]; 

답변

0

당신은 항상 ADBannerView이 경고를 피하기 위해 계층 구조에서 최상위이다 있는지 확인하려면. 보기가 겹치면 투명도가 있더라도이 경고가 표시됩니다.

다음과 같이 간단하게 할 수 있습니다.

ADBannerView *adView = <create the view>; 
[superView addSubview:adView]; 
[superView bringSubviewToFront:adView]; 

UPDATE :

뷰의 크기를 설정,이 크기의 클래스를 조회하는 것이 가장 좋습니다.

+ (CGSize)sizeFromBannerContentSizeIdentifier:(NSString *)contentSizeIdentifier 

이렇게하면 사용해야하는 높이와 너비가 반환됩니다. 그래서 프레임을 다음과 같이 설정하십시오.

CGSize size = [ADBannerView sizeFromBannerContentSizeIdentifier: ADBannerContentSizeIdentifierPortrait]; 
self.adView_iPad.frame = CGRectMake(0, 0, size.width, size.height); 
+0

좋습니다. 나는 그것을 atIndex 최상단에 추가하고 bringSubviewToFront를 추가했다. 그러나 여전히 동일합니다. 대리자 메서드 bannerViewDidLoadAd에서 볼 수 있는데, 이는 완전히로드되었지만 여전히 동일한 오류가 발생합니다. – Stef

+1

ADBanner보기를 추가 한 후에보기를 추가하는 경우 [superView bringSubviewToFront : adView]; 이 행은 뷰 계층을 변경 한 후 마지막 행이어야합니다. Logancautrell에 – logancautrell

+0

: 고마워, 그랬어! – Stef