adMob可以通过rotation方式的shouldAutoRotateToInterfaceOrientation自动旋转至需要的位置。然而,在某些情况下,页面本身没有进行旋转,只有内容旋转了;或者页面设定为某一固定方向。在这种情况下,adMob的rotation方式不会被调用。因此,在网上找到了一个方法(http://johnehartzog.com/2009/04/admob-ad-to-landscape-orientation/):直接对包含adMob的页面进行旋转,经测试顺利通过。
self.view = [[UIView alloc] initWithFrame:CGRectMake(0, 432, 320, 48)]; CGAffineTransform makeLandscape = CGAffineTransformMakeRotation(degreesToRadians(90)); makeLandscape = CGAffineTransformTranslate(makeLandscape, -480/2 + 48/2, 320/2 - 48/2 - 12); self.view.transform = makeLandscape;