2014-10-05 7 views
0

iOS8에서 작동하려고하는 가로 전용 앱이 있습니다. 가로보기의 맨 아래에 표시되는 iAd 배너를 만들려고합니다. 그러나 광고 배너가 표시되면보기의 가운데와 세로 방향으로 표시됩니다. 이 코드 내에서 statusBarOrientation을 테스트하는 경우, 그 방향이 가로 것을 보여준다 것을iAd 배너가 세로 방향으로 표시되지만 가로 방향으로 표시됩니다.

app = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 

// Init the Ad View Controller (viewController is defined as a UIViewController) 
viewController = [[AdViewController alloc] initWithNibName:nil bundle:nil]; 

// Create a banner view controller and make the adViewController be the content controller for the bannerViewController 
bannerViewController = [[BannerViewController alloc] initWithContentViewController:viewController]; 

[app.window addSubview:bannerViewController.view]; 

참고 : 여기가보기를 설정하는 방법입니다. 또한 내가 마지막 라인을 변경하면 아래 그림과 같이 윈도우의 루트보기로 bannerViewController.view를 추가 할 수 있습니다 :

[app.nrViewController.view addSubview:bannerViewController.view]; 

결과는 동일합니다. 특히, 광고 배너는 뷰의 중심을 가로 질러 세로 방향으로 표시됩니다. bannerView가 부모와 같은 방향으로 표시되면 안됩니까?

+0

해결책은 무엇입니까? – ColdSteel

답변

0

많은 개발자가이 문제를 겪은 것처럼 보입니다. 나는 답을 찾지 못했습니다.

나는 프로그램이처럼 내의 ViewController에 말게을 추가합니다 :

ViewController.h : 여기 그것을 해결 방법

ADBannerView *_iadView; 

다음 (ViewController.m)의 viewDidLoad에서 :

CGRect adRect = CGRectZero; 

//this is what fixed the issue 
adRect.size.width = self.view.bounds.size.width; 

_iadView = [[ADBannerView alloc] initWithFrame:adRect]; 

CGRect adFrame = _iadView.frame; 
adFrame.origin.y = -_iadView.frame.size.height; 
_iadView.frame = adFrame; 

[_iadView setAutoresizingMask:UIViewAutoresizingFlexibleWidth]; 

[self.view addSubview:_iadView]; 

위의 내용은 iAd의 크기를 올바르게 지정하고 화면 상단에 배치합니다.

관련 문제