Ios 3.5英寸和4英寸屏幕应用程序底部的iAd横幅
您好,我正在尝试在我的应用程序底部实施iAd。当我将屏幕大小更改为3.5英寸时,屏幕底部的iAd横幅消失。当我切换回4英寸时,横幅又回来了。如何锁定横幅以显示在屏幕底部,而不考虑屏幕大小 这是我的.h文件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
#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;