0

我试图在 XCode 5 中将子视图放置在屏幕底部,但在运行应用程序时它会在底部留下 20px 的空间。

我也改变了三角洲,不知道是什么原因造成的。

我的代码如下所示:

[bannerView setFrame:CGRectMake([UIScreen mainScreen].bounds.size.width-bannerView.frame.size.width,
                                [UIScreen mainScreen].bounds.size.height-bannerView.frame.size.height - [UIApplication sharedApplication].statusBarFrame.size.height,
                                bannerView.frame.size.width,
                                bannerView.frame.size.height
                                )];

我的代码如下所示:

- (void)viewDidLoad
{
    [super viewDidLoad];


    // Load Ad

   self.bannerView.requestURL = @"http://adsivv.com/md.request.php";
  self.bannerView.delegate = self;



- (void) viewWillLayoutSubViews {

    NSLog(@"bannerView frame: %@", NSStringFromCGRect(bannerView.frame));

    [bannerView setFrame:CGRectMake([UIScreen mainScreen].bounds.size.width-bannerView.frame.size.width,
                                    [UIScreen mainScreen].bounds.size.height-bannerView.frame.size.height - [UIApplication sharedApplication].statusBarFrame.size.height,
                                    bannerView.frame.size.width,
                                    bannerView.frame.size.height
                                    )];

}
4

1 回答 1

0

*编辑-我知道出了什么问题。CGRectMake() 的前 2 个参数是 x 和 y。您可能希望将 x 保持在 0 并将 y 向下移动。您正在为这些参数使用完整的宽度和高度,这可能会使视图过于靠右。看看它。

此代码应将横幅广告视图放置在您的屏幕上:

- (void)viewWillLayoutSubViews {
    [super viewWillLayoutSubViews];

    [self.bannerView setFrame:CGRectMake(0.0f,
                                0.0f,
                                self.bannerView.frame.size.width,
                                self.bannerView.frame.size.height
                                )];

    [self.view bringSubViewToFront:self.bannerView];
}

就在那条线之前:

NSLog(@"bannerView frame: %@", NSStringFromCGRect(bannerView.frame));

然后进行相应的调整。

于 2013-10-04T15:24:47.937 回答