Just wanted to share a solution that worked for me. It looks like all my problems were due to my usage of Cocos2D. I shouldn't of used [UIScreen mainScreen].bounds.size.width
. Here is what worked for me to properly, and finally, center the ad from my application's delegate (which inherits CCAppDelegate, so its like I was trying to mix-and-match two different interface sizing methodologies):
adBannerView = [[ADBannerView alloc] init];
adBannerView.backgroundColor = [UIColor whiteColor];
CGSize sizeToFit = [adBannerView sizeThatFits:[[CCDirector sharedDirector] view].frame.size];
// It is assumed that sizeThatFits returns size with a width smaller than the director's width, so just see if it needs to be centered.
[adBannerView setFrame:CGRectMake(([[CCDirector sharedDirector] view].frame.size.width - sizeToFit.width)/2.0f, 0, sizeToFit.width, sizeToFit.height)];
adBannerView.delegate = self;
[self.navController.view addSubview:adBannerView];