Ios 3.5英寸和4英寸屏幕应用程序底部的iAd横幅

Ios 3.5英寸和4英寸屏幕应用程序底部的iAd横幅,ios,iphone,xcode,iad,Ios,Iphone,Xcode,Iad,您好,我正在尝试在我的应用程序底部实施iAd。当我将屏幕大小更改为3.5英寸时,屏幕底部的iAd横幅消失。当我切换回4英寸时,横幅又回来了。如何锁定横幅以显示在屏幕底部,而不考虑屏幕大小 这是我的.h文件 #import <UIKit/UIKit.h> #import <iAd/iAd.h> @interface ViewController : UIViewController <ADBannerViewDelegate> { ADBannerView

您好,我正在尝试在我的应用程序底部实施iAd。当我将屏幕大小更改为3.5英寸时,屏幕底部的iAd横幅消失。当我切换回4英寸时,横幅又回来了。如何锁定横幅以显示在屏幕底部,而不考虑屏幕大小

这是我的.h文件

#import <UIKit/UIKit.h>
#import <iAd/iAd.h>

@interface ViewController : UIViewController <ADBannerViewDelegate>

{

ADBannerView *adView;
BOOL bannerIsVisible;

NSInteger HighScoreNumber;
IBOutlet UILabel *HighScore;

}

@property (nonatomic,assign) BOOL bannerIsVisible;

@end
这是我所有的iAds代码,我真的需要帮助解决这个问题。感谢添加
#define
以了解哪个设备使用该应用程序:

#define IS_IPHONE5() ((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) && [UIScreen mainScreen].bounds.size.height == 568)
接下来,使用此
#define
修改偏移:

banner.frame = CGRectOffset(banner.frame, 0, (IS_IPHONE5() ? 560.0f : 420.0f));


为iPhone 4“和3.5”设置正确的值

视图中设置横幅位置将出现
,在那里您可以访问
self.view.bounds.size
,不要忘记添加约束或设置AutoResizingTask使其“粘”到底部。

我知道这很旧,但最近我遇到了这个问题,我找到了一个解决方案,所以我会把它贴在这里,以防其他人偶然发现它

我注意到,当你出于某种原因更换手机时,
ViewController
保留了故事板中指定的大小(在我的例子中是iphone6)

所以我的修正是在
viewDidLoad
方法中,我得到了加载后主屏幕的大小,而不是实际视图或帧的大小

斯威夫特:

var screenSize = UIScreen.mainScreen().bounds
println(screenSize)

var viewSize = self.view.bounds
println(viewSize)
目标C:

CGSize sizeOfScreen = [[UIScreen mainScreen] bounds].size;
CGSize sizeOfView = self.view.bounds.size;
以及相应的输出(按各自的顺序):

(0.0,0.0320.0568.0)
(0.0、0.0、375.0、667.0)

我在屏幕尺寸为320x568的iPhone5S上测试了这一点,但当被问及视图的边界时,我得到了375x667,这是我在故事板上制作的大小


希望这对别人有帮助

当新设备面世时,你只需要更新你的所有应用程序。是的,你是对的,但现在还不是这样(一个月后可能^^^)检查并相应地定位广告视图。谢谢你的回答,我希望它能起作用。你能通过编写代码来详细说明吗?我可以,但我相信你自己可以做到,存储对
adView
的引用创建它时,添加
视图将出现
类似于对
视图消失
所做的操作,并在那里设置广告视图位置。
var screenSize = UIScreen.mainScreen().bounds
println(screenSize)

var viewSize = self.view.bounds
println(viewSize)
CGSize sizeOfScreen = [[UIScreen mainScreen] bounds].size;
CGSize sizeOfView = self.view.bounds.size;