2014-09-07 3 views
0

iAds를 처음으로 통합하고 있습니다. 그것은 작동합니다. 내가 할 수없는 일은 내 화면의 맨 아래에있는 것입니다. 내가 올바른 수학이라고 생각하는 것을 보여 주면 (또는 오히려 나는 그것을 보지 못하지만) 하드 코딩 된 값으로 위치를 변경하면 작동합니다.iAd 배너 위치 및 화면 높이

// Use RootViewController manage CCEAGLView 
_viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil]; 
_viewController.wantsFullScreenLayout = YES; 
_viewController.view = eaglView; 

// Set RootViewController to window 
if ([[UIDevice currentDevice].systemVersion floatValue] < 6.0) 
{ 
    // warning: addSubView doesn't work on iOS6 
    [window addSubview: _viewController.view]; 
} 
else 
{ 
    // use this method on ios6 
    [window setRootViewController:_viewController]; 
} 

// iAd 
adView = [[ADBannerView alloc] initWithFrame:CGRectZero]; 
CGRect adFrame = adView.frame; 

adFrame.origin.y = adView.frame.size.height; 
adView.frame = adFrame; 
[_viewController.view addSubview:adView]; 

작동하지만이 같은 보여줍니다 enter image description here

내가 시도하고 화면 높이에 따라 아래로 위치 변경 - 같이 adView 높이 나는 그것을보고 중지합니다.

adFrame.origin.y = _viewController.view.frame.size.height - adView.frame.size.height; 

나는 브레이크 포인트를 배치하고이이 높이 (1024)와 같이 adView (66)

enter image description here

UPDATE에 대한 값을 기반으로 작동한다 보인다 : 지금에 노력하고있어 초기화를 지정하는 초기화

adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, [[UIScreen mainScreen] bounds].size.height - adView.frame.size.height, [[UIScreen mainScreen] bounds].size.width, adView.frame.size.height)]; 
[adView setDelegate:self]; 
[_viewController.view addSubview:adView]; 

여전히 작동하지 않으며 아무것도 표시되지 않습니다.

업데이트 2 :하지에 분명이 그것을 수행 쇼를 시도 바닥

adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 200, [[UIScreen mainScreen] bounds].size.width, 200)]; 

UPDATE 3 :이 작업을 시도, 그렇지 않은 바닥

adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 200, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)]; 

UPDATE 4에서 분명히 쇼를 수행합니다 이것을 시도하고, 바닥에서 작동합니다.하지만 방금 이것을 만들었습니다. 300에서 200으로 변경하면 아무 것도 표시되지 않습니다.

adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, [[UIScreen mainScreen] bounds].size.height - 300, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)]; 

답변

0

왜 배너보기를 만들 때 직접 initWithFrame을 사용하지 않으시겠습니까?

나는 내 응용 프로그램에서 다음과 같이 그것을 그것은

또한
CGFloat adBannerHeight = 100.0f; 

bannerView = [[ADBannerView alloc]initWithFrame:CGRectMake(0, [[UIScreen mainScreen] bounds].size.height - adBannerHeight,[[UIScreen mainScreen] bounds].size.width,adBannerHeight)]; 
[bannerView setDelegate:self]; 
[[self view] addSubview:bannerView]; 

, 당신은

+0

감사 필요한 모든 대리자 메서드를 구현 있는지 확인하십시오 나를 위해 잘 작동합니다. 나는 시도했는데 보이지 않는다. 위의 업데이트를 볼 수 있습니까? – Jason

+0

코드에 이상한 부분이 없습니다. 보기 계층 구조를 확인할 수 있습니까? 어쩌면 배너보기가 다른보기로 덮여있을 수도 있습니다. – slysid

+0

adView = [[ADBannerView alloc] initWithFrame : CGRectMake (0, [[UIScreen mainScreen] bounds] .size.height - adView.frame.size.height, [[UIScreen mainScreen] bounds] .size.width, adView.frame. size.height)]; adView가 여전히 생성되지 않으므로 adView.frame.size.height는 0이됩니다. 광고 배너보기는 UIWindow 범위 아래에 설정됩니다. 100 또는 150과 같은 어려운 값으로 설정하십시오. – slysid