2

我想在屏幕底部显示 iAd.. 我试图添加 subView 但 iAd 显示在一个单元格中,他隐藏了他。

我应该怎么做才能使 tableView 在 iAd 下滚动?

我的代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self createAdBannerView];
    [self.view addSubview:self.adBannerView];

}

#pragma mark - ADBannerViewDelegate

- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
    [self adjustBannerView];
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    [self adjustBannerView];
}

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
{
    return YES;
}

- (void)bannerViewActionDidFinish:(ADBannerView *)banner
{
}

- (void) adjustBannerView
{
    CGRect contentViewFrame = self.view.bounds;
    CGRect adBannerFrame = self.adBannerView.frame;

    if([self.adBannerView isBannerLoaded])
    {
        CGSize bannerSize = [ADBannerView sizeFromBannerContentSizeIdentifier:self.adBannerView.currentContentSizeIdentifier];
        contentViewFrame.size.height = contentViewFrame.size.height - bannerSize.height;
        adBannerFrame.origin.y = contentViewFrame.size.height;
    }
    else
    {
        adBannerFrame.origin.y = contentViewFrame.size.height;
    }
    [UIView animateWithDuration:0.5 animations:^{
        self.adBannerView.frame = adBannerFrame;
        self.contentView.frame = contentViewFrame;
    }];
}

- (void) createAdBannerView
{
    self.adBannerView = [[ADBannerView alloc] initWithFrame:CGRectZero];
    CGRect bannerFrame = self.adBannerView.frame;
    bannerFrame.origin.y = self.view.frame.size.height;
    self.adBannerView.frame = bannerFrame;

    self.adBannerView.delegate = self;
    self.adBannerView.requiredContentSizeIdentifiers = [NSSet setWithObjects:ADBannerContentSizeIdentifierPortrait, ADBannerContentSizeIdentifierLandscape, nil];
}

编辑:

我该如何防止这种情况?我想把 iAd 放在底部..

在此处输入图像描述

提前致谢!

4

2 回答 2

1

如果您使用的是自动布局,我之前所做的是将底部空间的约束添加到 superview 的出口(假设您在视图中有一个 tableview)。

然后,您可以在加载广告时调整回调中的约束,例如执行

tableViewBottomSpaceConstraintOutlet.constant -= adBannerView.frame.size.height;

tableViewBottomSpaceConstraintOutlet底部空间的出口在哪里超级查看约束并且adBannerView是您的广告横幅的视图。

于 2013-05-17T10:35:27.343 回答
1

Apple 的建议是添加一个容器视图以包含 ScrollView(TableView) 并在固定视图和容器视图之间设置约束

此处的详细信息: 使用带有自动布局的滚动视图

于 2015-02-06T05:42:25.050 回答